3
我有一些看起来像这样的一对多标准化数据。Oracle:将字段标准化为CSV字符串
a | x
a | y
a | z
b | i
b | j
b | k
什么查询将返回数据,以便“多”端表示为CSV字符串?
a | x,y,z
b | i,j,k
我有一些看起来像这样的一对多标准化数据。Oracle:将字段标准化为CSV字符串
a | x
a | y
a | z
b | i
b | j
b | k
什么查询将返回数据,以便“多”端表示为CSV字符串?
a | x,y,z
b | i,j,k
马克,
如果您在版本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。