2016-08-11 4 views
0

Oracle에서 행을 단일 열로 결합하는 방법을 아는 사람이 있습니까?행을 Oracle의 단일 열로 결합

Customer  CustomerBought 
------------------------------------------ 
John   Laptops, Phones 
Lisa   Watches 

감사 :

Customer Bought 
---------------------------- 
John  laptops 
John  Phones 
Lisa  Watches 

내가 쿼리는 다음과 같은 형식을 생성 할 예를 들어, 내가이 테이블이 있다고!

+0

LISTAGG 또는 WM_CONCAT 기능을 살펴볼 수 있습니다. –

+0

다음에 질문에 표를 추가 할 때 표를 선택하고 Ctrl + K를 누르십시오. 그런 다음 전체 블록을 4 개의 공백으로 들여 쓰기하여 줄 바꿈을 유지하고 고정 폭 문자를 사용합니다. – trincot

+0

질문 ... Oracle 11g로 태그를 붙였습니까? 아니면 시스템이 대신 해 주었습니까? 그리고 관련 - 실제로 Oracle 11에 있다면 11.1 또는 11.2 버전입니까? 종종 문제는되지 않지만 패트 릭의 해결책에서 사용 된'LISTAGG()'는 절대적으로 완벽한 답이다. 11.2에서만 소개되었다. 11.1에 있다면 운이 없으니 다른 해결책이 필요합니다. – mathguy

답변

2
with data_qry (name, item) 
as 
(select 'John', 'Laptop' from dual union all 
select 'John', 'Phone' from dual union all 
select 'Lisa', 'Watches' from dual union all 
select 'Lisa', 'Glasses' from dual 
) 
select name, listagg(item, ', ') within group (order by item) as items 
from data_qry 
group by name 
+1

빠른 답장을 보내 주셔서 감사합니다. LISTAGG()는 내가 필요한 것이다. 나는 Oracle 12c를 사용 중이다. 다시 한번 감사드립니다. – sydney