| 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)
;