我有一個項目表這種方式存儲:Agregate行
A1 | B1
A1 | B2
A1 | B3
A2 | B1
A2 | B4
...
,我需要檢索與SQL查詢:
A1 | B1, B2, B3
A2 | B1, B4
...
我有一個項目表這種方式存儲:Agregate行
A1 | B1
A1 | B2
A1 | B3
A2 | B1
A2 | B4
...
,我需要檢索與SQL查詢:
A1 | B1, B2, B3
A2 | B1, B4
...
如果你有2個你11g第二版可以使用Listagg
:
Select a, Listagg(b, ', ') Within Group (Order By b)
From t
Group By a
它可以讓你的價值觀排序,它已經自帶了甲骨文:
A1 B1, B2, B3
A2 B1, B4
否則,您可以使用Tom Kyte的stragg
功能,Rows to String描述。
Select a, stragg(b)
From t
Group By a
回報
A1 B1,B3,B2
A2 B1,B4
Peter,如果OP在11gR2上,他們可以使用LISTAGG嗎? – 2010-04-19 12:41:43
@carpenteri:謝謝,編輯我的答案。 – 2010-04-19 12:49:36
不幸的是,我沒有11g – kilikopela 2010-04-19 14:01:50
SELECT *
FROM `table1`
ORDER BY `afield` ASC
使用類似這樣的問題,這
對不起,但我不明白這將有助於? – 2010-04-19 12:24:37
重複:http://stackoverflow.com/questions/492563/oracle-combine-multiple-results-in -a-subquery-into-a-single-comma-separated-valu – 2010-04-19 12:42:43