pivot 사용법이 헷깔려서 문의드립니다 2 2 1,057

by 김재한 [Oracle 기초] [2016.12.05 23:08:34]


WITH T AS (
    SELECT 'AAA' AS Y2013, '10%' AS Y2014, '111' AS Y2015, 'A' AS Y2016 FROM DUAL
    UNION ALL SELECT 'BBB' , '20%', '222', 'B'  FROM DUAL
    UNION ALL SELECT 'CCC' , '30%', '333', 'C'  FROM DUAL
)
    SELECT * FROM T;
 

이부분을 pivot을 써서 아래처럼 변경하고 싶은데 방법을 문의드립니다
몇시간을 헤맷지만 쉽게 되질 않네요ㅜ
고수님들의 고견을 여쭙습니다 꾸벅~

------------------------------------------
Y2013 : AAA  BBB  CCC
Y2014 :10%  20%  30%
Y2015 :111  222   333
Y2016 : A     B     C

by 마농 [2016.12.06 08:38:39]
SELECT *
  FROM (SELECT ROWNUM rn, y2013, y2014, y2015, y2016 FROM t)
 UNPIVOT (v FOR y IN (y2013, y2014, y2015, y2016))
 PIVOT (MIN(v) FOR rn IN (1, 2, 3))
 ORDER BY y
;

 


by 김재한 [2016.12.06 21:38:11]

잘 배웠습니다~~마농님~~
감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입