Sql Oracle:将字段规范化为CSV字符串
我有一些像这样的一个或多个标准化数据Sql Oracle:将字段规范化为CSV字符串,sql,oracle,plsql,Sql,Oracle,Plsql,我有一些像这样的一个或多个标准化数据 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' f
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,而是高于10gR1,那么我建议为此使用model子句,如下所述:
如果低于10,那么您可以在rexem到oracle基本页面的链接中,或者在上面提到的blogpost中到OTN线程的链接中看到一些技术
问候,,
罗布