WITH T (COL1,COL2,COL3,COL4,COL5,COL6 ) AS ( SELECT 1001 , 1002 , 1003 , 1004 , 1005 , 1006 FROM DUAL ) SELECT * FROM T UNPIVOT ( DATA FOR COL IN (COL1,COL2,COL3,COL4,COL5,COL6));
우리집 아찌님..
질문이 잘못되어 다시 올립니다.
한번더 봐주실수 있는지요?
다이나믹 쿼리 사용해야할것 같습니다.
날짜가 어떤게 들어올지 몰라서(고정값이 아니면 안됩니다)
아니시면 한달치 뽑아놓으시고 처리하셔야합니다.
mybatis 사용하신다면 pivot절의 in으로 받는 부분을 list로 받으셔서 처리또는 foreach 문을 사용하시면 되실겁니다.
WITH t(dt,col1,col2,col3,col4,col5,col6) AS (
SELECT '2017-01-01',1001,1002,1003,1004,1005,1006 FROM DUAL UNION ALL
SELECT '2017-02-01',2001,2002,2003,2004,2005,2006 FROM DUAL
)
SELECT
*
FROM t
UNPIVOT(text FOR gb IN (col1,col2,col3,col4,col5,col6))
PIVOT(MIN(text) FOR dt IN ('2017-01-01','2017-02-01'))