[데이터]
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라 최신 문자열 연결 함수를 쓸수 없습니다. 고수님들 도와주세요 ㅠㅠ
아래 처럼 하면 나오네요~ 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