PIVOT 구문 사용 문의 0 2 910

by fly [SQL Query] [2017.10.16 17:00:18]


PIVOT 사용시 IN 구분안에 서브쿼리를 사용 할 수 있는지 궁금합니다.

WITH T AS
       (SELECT '2011' AS YEAR
            , 1.1 AS VAL
         FROM DUAL
           UNION ALL
       SELECT '2012' AS YEAR
            , 1.2 AS VAL
         FROM DUAL
           UNION ALL
       SELECT '2013' AS YEAR
            , 1.3 AS VAL
         FROM DUAL
           UNION ALL
       SELECT '2014' AS YEAR
            , 1.4 AS VAL
         FROM DUAL
           UNION ALL
       SELECT '2015' AS YEAR
            , 1.5 AS VAL
         FROM DUAL
       )  
SELECT *
  FROM T
 PIVOT(MIN(VAL) FOR YEAR IN ('2013','2014','2015'))

===> PIVOT(MIN(VAL) FOR YEAR IN (SELECT YEAR FROM T WHERE YEAR >= '2013'))

이렇게 사용 가능할까요?

 

 

by 마농 [2017.10.16 17:37:50]

XML 형식을 사용 한다면 가능합니다. (PIVOT XML)
다만, 결과가 2차원 표 형태가 아닌 XML 형식으로 나옵니다.


by fly [2017.10.16 17:52:03]

그렇군요..

그럼 혹시 XML 형식을 표 형태로 바꾸는 방법은 있을까요?

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