Xmlagg에 엔터값 넣기 0 2 2,592

by 쌈장묵자 [SQL Query] [2016.04.14 14:40:36]


20000513/홍길동초등학교/입학/12살
20030513/홍길동중학교/입학/15살
20060513/홍길동고등학교/입학/18살

이런식으로 1X3 데이터가 나온다고 할때

Xmlagg로 붙여 준다음에 , 대신에 엔터 넣으면 될꺼 같긴한데 감이 안잡히네요

SUBSTR(XMLAGG(XMLELEMENT(X,CHR(13),HISTORY) ORDER BY HISTORY).EXTRACT('//TEXT()',2) AS HISTORY

로 하면 한 ROW로 가능은 한데 앞에 숫자는 어떻게 넣어 줄까요?

1) 20000513/홍길동초등학교/입학/12살

2) 20030513/홍길동중학교/입학/15살

3) 20060513/홍길동고등학교/입학/18살

1X1로 1) 순서 붙이고 엔터로 이렇게 가능할까요?

펑션은 안쓰고 쿼리로요

by 마농 [2016.04.14 15:43:03]
SELECT SUBSTR(
       XMLAGG(XMLELEMENT(x, CHR(13)||CHR(10), rn, ') ', history) ORDER BY rn)
       .EXTRACT('//text()'), 2) x
  FROM (SELECT ROW_NUMBER() OVER(ORDER BY history) rn
             , history
          FROM t
        )
;

 


by 쌈장묵자 [2016.04.14 20:21:57]

이런식으로 가능하군요 정말 감사합니다 ㅎㅎ

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