2013-06-21 50 views
0

我有一個查詢進行即時返回3列的Oracle SQL把一列的值一行

ID NUMBER LETTER 
123 1  a 
124 2  b 
123 1  c 
123 1  d 

我想要做的是有一排類似

ID NUMBER LETTER 
123 1  a,c,d 

當我ID和NUMBER列是相同的是一個值和叔

+0

可能的[複製](http://stackoverflow.com/questions/4970477/oracle-sql-wm-concat-order-by) – Noel

+0

什麼版本的Oracle? – Taryn

+0

11g ............. –

回答

2

在Oracle 11g中,可以使用函數LISTAGG()

select id, 
    number, 
    listagg(letter, ', ') within group(order by id, number) as letter 
from yourtable 
group by id, number; 

SQL Fiddle with Demo