2013-07-22 1 views
-1

에서 여러 행을 결합 :내가이 테이블이 하나의 필드

수 ---------- 사용자 ---------- 값

1 --- ------------ A ------------- 25

1 --------------- B-- ---------- 28

2 ------------- 30 --------------- C

2 --------------- D ------------- 35

이 내가 원하는 무엇인가 :

수 ---------- 사용자 ---------- 값

1 ---------- ----- A, B ----------- 25,28

2 --------------- C, D ----- ------ 30,35

수천 개의 레코드가 있으며이를 정리하고 있습니다. SQL은 무엇이되어야 하는가? 당신이 + 오라클 11g를 사용하고 있기 때문에

+0

질문하는 방법에 대한 FAQ를 읽어보십시오. 이 설정은 요구 사항을 충족하지 못합니다. –

답변

0

모습을 제안 LISTAGG() 함수를 사용

select "Number", 
    listagg("user", ', ') within group (order by "user") "user", 
    listagg("value", ', ') within group (order by "user") value 
from yourtable 
group by "Number" 

참조 SQL Fiddle with Demo

+0

일부 테이블의 경우 "ORA-01489 : 문자열 연결 결과가 너무 깁니다"라고 표시됩니다. 나는 함수 나 타입을 생성 할 권한이 없다. 어떻게해야합니까? – Rafey

0

나는 당신이 할 수있는하는 문자열 agresgation의 사이트에서 검색 ... 또는 listagg 등 ... 그 동안

here