본문 바로가기

DataBase/Oracle SQL

다중로우 한줄로, 배열로 만들기

 단순쿼리로  다음과 같이 데이터가 나온 경우

 

 EX>> SELECT WKGD_NM , APPR_GRP_NM FROM 테이블명

 

 

하나의 로우로 만들어 주고자 하는 경우에는 당신이 쓰고 있는 DBMS 의 종류가 ORACLE 10g 인 경우 이렇게 사용 하세요.

 

SUBSTR(XMLAGG(XMLELEMENT(X,',' 컬럼) ORDER BY 오더바이 할 컬럼).EXTRACT('//text()') ,2) AS 정하고자 하는 이름

 

검은색은 알맞은 컬럼은 채워 넣으셔요~

 

결과 예 >>

 

 SELECT
        SUBSTR(XMLAGG(
        XMLELEMENT( X, ',' , A.WKGD_NM ) ORDER BY  A.WKGD_CD).EXTRACT('//text()'),2) AS WKGD_NM ,
        SUBSTR(XMLAGG(
        XMLELEMENT( X, ',' , A.APPR_GRP_NM ) ORDER BY  A.WKGD_CD).EXTRACT('//text()'),2) AS APPR_GRP_NM
FROM DAUL A

 

다음과 같은 결과를 낼 수 있습니다.

 

'DataBase > Oracle SQL' 카테고리의 다른 글

[ORACLE] TABLE_NAME, COLUMN_NAME  (0) 2013.04.01
[ORACLE] 오라클 주민등록번호로 나이 가져오기  (0) 2012.03.14
[SQL] ORACLE DB LOCK  (0) 2012.01.11
[SQL] 날짜 차이 구하기 SQL  (0) 2011.06.27
[oracle] dictionary  (0) 2011.01.19