201929 | 201930 | 201931 | 201932 | 201933 | 201934 | 201935 | 201936 | |
a | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
위와 같은 원본 테이블이 있을떄
아래와 같이 a과 b행으로 나눠 만들어 주고싶습니다
(기준은 당주 이전~ 당주(201932)까지는 a행에,
당주~ 이후구간은 b 행에 구성.
당주 데이터는 각 2개 행에 존재)
201929 | 201930 | 201931 | 201932 | 201933 | 201934 | 201935 | 201936 | |
a | 3 | 4 | 5 | 6 | ||||
b | 6 | 7 | 8 | 9 | 10 |
부탁드립니다
SELECT 'a' gb , CASE WHEN '201901' <= iyw THEN "201901" END "201901" , CASE WHEN '201902' <= iyw THEN "201902" END "201901" -- 중략 -- , CASE WHEN '201953' <= iyw THEN "201953" END "201953" FROM t , (SELECT TO_CHAR(sysdate, 'iyyyiw') iyw FROM dual) UNION ALL SELECT 'b' gb , CASE WHEN '201901' > iyw THEN "201901" END "201901" , CASE WHEN '201902' > iyw THEN "201902" END "201901" -- 중략 -- , CASE WHEN '201953' > iyw THEN "201953" END "201953" FROM t , (SELECT TO_CHAR(sysdate, 'iyyyiw') iyw FROM dual) ;