도움요청드립니다 0 2 3,565

by 일곱난장이 [Oracle 기초] [2024.05.28 09:09:49]


고수님들 도움 요청 합니다

select 'A'  as PK

      , 'AAAA' as CODE

     , '테스트1' as CD_NM

from dual

union all

select 'A'  as PK

      , 'BBBB' as CODE

     , '테스트2' as CD_NM

from dual

union all

select 'A'  as PK

      , 'CCCC' as CODE

     , '테스트3' as CD_NM

from dual

>>> 결과

 'AAAA','테스트1'>'BBBB', '테스트2'>'CCCC','테스트3'

-- 항목 구분자 ','  ,  레코드별 구분자 '>'

이렇게 한줄로 나오는 쿼리 부탁드립니다

by 마농 [2024.05.28 09:54:32]
WITH t AS
(
SELECT 'A' pk, 'AAAA' code, '테스트1' cd_nm FROM dual
UNION ALL SELECT 'A', 'BBBB', '테스트2' FROM dual
UNION ALL SELECT 'A', 'CCCC', '테스트3' FROM dual
)
SELECT pk
     , LISTAGG(code ||','|| cd_nm, '>') WITHIN GROUP(ORDER BY code) x1
     , LISTAGG(''''||code||''','''||cd_nm||'''', '>') WITHIN GROUP(ORDER BY code) x2
  FROM t
 GROUP BY pk
;

 


by 일곱난장이 [2024.05.28 10:42:57]

매번, 너무 감사드립니다

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