어제 시간표 쿼리 질문 드렸었는데
http://www.gurubee.net/article/13281
위 링크 보고 제가 따라해 봤거든요 그런데 잘 안됩니다.ㅠㅠ
마지막 쿼리 보면 A, B, C, D, E 라는 다섯개의 테이블이 있는거 같은데...
예시에서 보여준 테이블은 A, B 두개 밖에 없는데... C, D, E는 어떤 테이블을
만들어야 하는지 궁금합니다.
A = TIME
T_NO | T_NAME | P_SDATE | P_EDATE |
1 | 1교시 | 0900 | 0950 |
2 | 2교시 | 1000 | 1050 |
3 | 3교시 | 1100 | 1150 |
4 | 4교시 | 1200 |
1250 |
B = CLASS
P_NO | S_WEEK | S_SUBJECT | S_PROFESSOR | S_ROOM |
1교시 | 월요일 | 국어 | 홍길동 | 101 |
2교시 | 화요일 | 영어 | 홍길동2 | 201 |
예시에서 A와 B 테이블은 위와 같이 TIME, CLASS 테이블로 만들었습니다
SELECT MIN(GUBN_1) " "
,MIN(DECODE(S_WEEK, 2, GUBN_2)) "월"
,MIN(DECODE(S_WEEK, 3, GUBN_2)) "화"
,MIN(DECODE(S_WEEK, 4, GUBN_2)) "수"
,MIN(DECODE(S_WEEK, 5, GUBN_2)) "목"
,MIN(DECODE(S_WEEK, 6, GUBN_2)) "금"
,MIN(DECODE(S_WEEK, 7, GUBN_2)) "토"
FROM (
SELECT C.*, D.*
, DECODE(CNT, 1, T_NAME, 2, P_SDATE, 3, P_EDATE) GUBN_1
, DECODE(CNT, 1, S_SUBJECT, 2, S_PROFESSOR, 3, S_ROOM) GUBN_2
FROM(
SELECT *
FROM TIME, CLASS
WHERE TIME.T_NO = CLASS.P_NO(+)
) C, (
SELECT LEVEL CNT
FROM DUAL
CONNECT BY LEVEL <= 3
) D
ORDER BY T_NO, S_WEEK, CNT
) E
GROUP BY T_NO, CNT
;
그래서 링크에서 알려준데로 했는데 ...
NULL값만 나오고 안되네요 ㅠㅠ
월 | 화 | 수 | 목 | 금 | |
1교시 | 수학 | 영어 | |||
0900 | 홍길동 | 홍길동2 | |||
0950 | 101 | 201 |