오라클 질문드립니다.. 0 4 542

by 코잠 [2019.09.17 17:44:03]


안녕하세요. 오라클에 대해서 질문드립니다.

 

현재 아웃풋 데이터는

---------------

111  ||  AAA

---------------

111 ||  BBB

---------------

222 ||  CCC

---------------

222 ||  DDD

 

이렇게 출력중입니다.

저 데이터를 

 

---------------

111  ||  AAA, BBB

---------------

111 ||   AAA, BBB

---------------

222 ||  CCC, DDD

---------------

222 ||  CCC, DDD

 

이렇게 출력을 하려고합니다ㅜㅜㅜ

검색해봐도 WM_CONCAT에 대한 것 밖에없네요ㅜㅜ...

글이 삭제되네요ㅜㅜ..

by 꼬랑지 [2019.09.17 19:12:59]
WITH T AS (
SELECT '111' ID, 'AAA' VAL FROM DUAL UNION ALL
SELECT '111' ID, 'BBB' VAL FROM DUAL UNION ALL
SELECT '222' ID, 'CCC' VAL FROM DUAL UNION ALL
SELECT '222' ID, 'DDD' VAL FROM DUAL
)
SELECT ID,LISTAGG(VAL,',') WITHIN GROUP(ORDER BY 1)
FROM T
GROUP BY ID

 


by 코잠 [2019.09.18 08:18:04]

감사합니다!!


by 코잠 [2019.09.18 08:25:12]

이 쿼리도

111 || AAA,BBB

222 || CCC,DDD 

로 출력이되네요ㅜㅜ

 


by 마농 [2019.09.18 08:31:22]
WITH t AS
(
SELECT 111 id, 'AAA' v FROM dual
UNION ALL SELECT 111, 'BBB' FROM dual
UNION ALL SELECT 222, 'CCC' FROM dual
UNION ALL SELECT 222, 'DDD' FROM dual
)
SELECT id
     , LISTAGG(v, ',') WITHIN GROUP(ORDER BY v) OVER(PARTITION BY id) x
  FROM t
;

 

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