database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39381 게시물 읽기
No. 39381
쿼리 좀 도와주세요. 도무지 가닥이 안 잡히네.
작성자
서정욱(덜렁이)
작성일
2012-04-05 23:25
조회수
4,125

 

테이블1.
시험일               수험번호             성명          학번
-----------------------------------------------------------------
2012-03-31           123              홍길동        1201
.
.
.
 
 
테이블2
시험일                  수험번호            과목명      점수
------------------------------------------------------------------
2012-03-31            123               수학            70
2012-03-31            123               국어            90
.
.
.
 
위의 구조로 되어있는 두 테이블에서
 
아래와 같은 테이블을 새로 생성하려면 쿼리를 어떻게 짜야 할까요?
(쿼리문보다는 논리적으로 어떻게 해야 아래 결과가 나올지 아무리 생각해도 안되네요. )
 
 
시험일              성명         학번      국어     수학        영어 ....
------------------------------------------------------------------------
2012-03-31   홍길동      1201         90       70           30 .....
.
.
.
 
* 모든 학생이 시험 본날이나, 시험본 과목이 다릅니다. (선택과목들만 선택한 날에 시험봅니다.)

* 수험번호는 그날 시험본 학생들을 그냥 일련번호로 해 놓았습니다.  

이 글에 대한 댓글이 총 2건 있습니다.

시험일과 수험번호로 조인하여 그룹핑하면 되겠네요.

 

SELECT

    A.시험일, A.수험번호,

    MAX(CASE WHEN B.과목명 = '수학' THEN 점수 END) AS 수학점수,

    MAX(CASE WHEN B.과목명 = '국어' THEN 점수 END) AS 국어점수

    .....

FROM TAB1 A, TAB2 B

WHERE A.시험일 = B.시험일

AND A.수험번호 = B.수험번호

GROUP BY A.시험일, A.수험번호

유병운(buyoo)님이 2012-04-06 13:27에 작성한 댓글입니다.

헉! 감사합니다. 저녁에나 실행해 볼 수 있는데...

group 하고 case 를 쓰면 되는 군요.

근데.

같은날 같은 과목 시험점수는 하나뿐인데

MAX () 를 쓰신 이유는??  그냥 생략해도 되지 않을까요? 구문이 에러가나나?

서정욱(덜렁이)님이 2012-04-06 15:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
393853개의 칼럼 값을 바꿀 방법이 없을까요~ [1]
초보맨
2012-04-06
3513
39383바인딩변수값에 따라 실행 속도가 차이나는 경우 [1]
저글링
2012-04-06
3596
39382한글컬럼명 Pro*c Precompile
손영우
2012-04-05
4139
39381쿼리 좀 도와주세요. 도무지 가닥이 안 잡히네. [2]
서정욱
2012-04-05
4125
39380순차적으로 삭제 해야하는 데이터의 쿼리 만들기 질문입니다.
쿼리 초보
2012-04-05
4248
39379두 쿼리의 차이점?? [3]
최인수
2012-04-05
5022
39377차감(?) 쿼리 질문입니다. [2]
초보
2012-04-04
4336
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다