Polpid's World

[Oracle]세로 data를 가로로 변형하기 - LISTAGG 본문

Development/DataBase

[Oracle]세로 data를 가로로 변형하기 - LISTAGG

폴피드 2011. 11. 8. 13:31
기존에 세로로 나온 DATA를 가로로 바꿀때에는 쿼리가 복잡했었지만 오라클 11g에서는 LISTAGG라는 함수를 사용해서 간단하게 만들수 있다. 

WITH RGN AS 
       (SELECT RGN_CD 
         FROM 
              (SELECT 'A' AS RGN_CD 
                FROM DUAL 
                  UNION 
              SELECT 'B' AS RGN_CD 
                FROM DUAL 
                  UNION 
              SELECT 'C' AS RGN_CD 
                FROM DUAL 
                  UNION 
              SELECT 'D' AS RGN_CD 
                FROM DUAL 
                  UNION 
              SELECT 'E' AS RGN_CD 
                FROM DUAL 
              ) 
       )  
SELECT LISTAGG(RGN_CD, ',') WITHIN GROUP (ORDER BY RGN_CD)AS RGN_CD 
  FROM RGN

결과
RGN_CD
--------
A,B,C,D,E 

쿼리도 복잡하지 않고 정말 한줄에 끝난다.!! 


0 Comments
댓글쓰기 폼