도와주세요~ oracle9i에서 문자열 합치기 질문요 !!! ㅠㅠ 1

by 코루 [SQL Query] #문자열연결#쿼리도움요청 [2022.12.27 09:42:11]


[데이터]

REQ_NO  SEQ  DETAIL_NAME 

1000  01  A1

1000  02  A2

1000  03  A3

1000  04  A4

1001  01  B1

1001  02  B2

1001  03  B3

1001  04  B4

 

[원하는 출력값]

1000 A1A2A3A4

1001 B1B2B3B4

 

위의 데이터를 REQ_NO를 그룹핑해서 DETAIL_NAME 문자열을 붙여서 출력하고 싶습니다. 

버전은 오라클9I라 최신 문자열 연결 함수를 쓸수 없습니다. 고수님들 도와주세요 ㅠㅠ 

 

by pajama [2022.12.27 10:17:37]

아래 처럼 하면 나오네요~ with 절은 보여주신 샘플 데이터입니다. 링크도 참고하세요~~

http://www.gurubee.net/article/55512

 

with t (req_no, seq, detail_name) as (
select 1000, '01', 'A1' from dual union all
select 1000, '02', 'A2' from dual union all
select 1000, '03', 'A3' from dual union all
select 1000, '04', 'A4' from dual union all
select 1001, '01', 'B1' from dual union all
select 1001, '02', 'B2' from dual union all
select 1001, '03', 'B3' from dual union all
select 1001, '04', 'B4' from dual
)
select req_no, 
       XMLAgg(XMLElement(x, '', detail_name) ORDER BY seq ).Extract('//text()') agg 
  from t
 group by req_no

 

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