Oracle: normalized fields to CSV string(Oracle:将字段规范化为 CSV 字符串)
问题描述
我有一些看起来像这样的一对多规范化数据.
I have some one-many normalized data that looks like this.
a | x
a | y
a | z
b | i
b | j
b | k
什么查询会返回数据,使得多"方表示为 CSV 字符串?
What query will return the data such that the "many" side is represented as a CSV string?
a | x,y,z
b | i,j,k
推荐答案
Mark,
如果您使用的是 11gR2 版本,而谁不是 :-),那么您可以使用 listagg
If you are on version 11gR2, and who isn't :-), then you can use 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
If your version is not 11gR2, but higher than 10gR1, then I recommend using the model clause for this, as written here: http://rwijk.blogspot.com/2008/05/string-aggregation-with-model-clause.html
如果低于 10,那么您可以在 rexem 指向 oracle-base 页面的链接中或在上述博文中指向 OTN 线程的链接中看到几种技术.
If lower than 10, then you can see several techniques in rexem's link to the oracle-base page, or in the link to the OTN-thread in the blogpost mentioned above.
问候,罗布.
这篇关于Oracle:将字段规范化为 CSV 字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Oracle:将字段规范化为 CSV 字符串


- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 更改自动增量起始编号? 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- SQL 临时表问题 2022-01-01