Mark,
如果您使用的是版本 11gR2,而谁不是:-),那么您可以使用 listagg
SQL> create table t (col1,col2)
2 as
3 select 'a', 'x' from dual union all
4 select 'a', 'y' from dual union all
5 select 'a', 'z' from dual union all
6 select 'b', 'i' from dual union all
7 select 'b', 'j' from dual union all
8 select 'b', 'k' from dual
9 /
Tabel is aangemaakt.
SQL> select col1
2 , listagg(col2,',') within group (order by col2) col2s
3 from t
4 group by col1
5 /
COL1 COL2S
----- ----------
a x,y,z
b i,j,k
2 rijen zijn geselecteerd.
如果您的版本不是 11gR2,但高于 10gR1,那么我建议使用 model 子句,如下所示:http://rwijk.blogspot.com/2008/05/string-aggregation-with-model-clause.html
如果低于 10,那么您可以在 rexem 到 oracle-base 页面的链接中看到几种技术,或者在上面提到的博客文章中到 OTN-thread 的链接中看到几种技术。
问候,
抢。