2009-09-18 60 views

回答

4

马克,

如果您在版本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的,但较高那么我建议使用这个模型子句,如下所示:http://rwijk.blogspot.com/2008/05/string-aggregation-with-model-clause.html

如果低于10,那么您可以在rexem的链接到oracle-base页面或在l墨水添加到上述博文中的OTN-thread。

Regards, Rob。