2013-06-21 19 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