시간표 쿼리를 작성하는데 막혔습니다 ㅡㅜ
oracle 9i , 10g 사용중인데
동일한 날짜에 존재하는 시간표를 한줄로 보여주고 싶은데 ㅡㅜ
첫번쨰 테이블은 날짜가 있는 테이블이고
ATTEND_DAY (PK)
20130624
20130625
20130626
20130627
20130628
두번쨰 테이블은 시간표가 들어있습니다
날짜 시간표 (1교시부터 10까지 존재)
ATTEND_DAY PERIOD_GB
20130624 1
20130624 2
20130624 3
20130624 4
20130625 6
20130625 7
20130625 8
20130625 9
20130625 10
결과를 이런식으로 뿌리고 싶습니다 ...
날짜 1 2 3 4 5 6 7 8 9 10
--------------------------------------------------------------------
20130624 1 2 3 4
20130625 6 7 8 9 10
20130626
20130627
20130628
ㅠㅠ 도저희 모르겠네요 ..
무식하게 JSP 에서 FOR문 두번돌기도 좀 그렇고 ㅠㅠ
도와주세요 ㅠ
Comment 1
-
이스트럭(강동운)
2014.03.19 18:49
안녕하세요. 아래쿼리 참고하세요..
SELECT
A.ATTEND_DAY
, MAX(CASE B.PERIOD_GB WHEN 1 THEN B.PERIOD_GB ELSE NULL END) AS '1'
, MAX(CASE B.PERIOD_GB WHEN 2 THEN B.PERIOD_GB ELSE NULL END) AS '2'
...
, MAX(CASE B.PERIOD_GB WHEN 10 THEN B.PERIOD_GB ELSE NULL END) AS '10'
FROM 날짜 A
LEFT OUTER JOIN 시간표 B ON A.ATTEND_DAY = B.ATTEND_DAY
GROUP BY A.ATTEND_DAY