gpt4 book ai didi

sql - Oracle:将字段规范化为 CSV 字符串

转载 作者:行者123 更新时间:2023-12-04 22:14:09 34 4
gpt4 key购买 nike

我有一些看起来像这样的一对多规范化数据。

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,那么我建议为此使用模型条款,如下所示:http://rwijk.blogspot.com/2008/05/string-aggregation-with-model-clause.html

如果小于 10,那么你可以在 rexem 到 oracle-base 页面的链接中,或者在上面提到的博文中到 OTN-thread 的链接中看到几种技术。

问候,罗布。

关于sql - Oracle:将字段规范化为 CSV 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441971/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com