首页 >数据库 >mysql教程 >如何在 Oracle SQL 中连接多行的列值?

如何在 Oracle SQL 中连接多行的列值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-23 15:01:121003浏览

How to Concatenate Column Values from Multiple Rows in Oracle SQL?

Oracle SQL:组合多行的列值

本指南演示如何使用 SQL 连接 Oracle 数据库中多行的列值。我们将探索有效的方法,包括聚合函数和 LISTAGG 函数。

一种有效的方法是利用 LISTAGG 函数:

<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM TableB
GROUP BY pid;</code>

此查询巧妙地将 Desc 中的 TableB 值连接到每个不同的 PID,并使用空格作为分隔符。 输出按 PID 对结果进行分组,为每个结果提供一个串联字符串。

要整合 PID 中的 TableA 值,需要进行连接:

<code class="language-sql">SELECT a.PID, b.description
FROM TableA a
INNER JOIN (SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM TableB
GROUP BY pid) b
ON a.PID = b.pid;</code>

此连接查询提供最终结果:每行显示来自 PIDTableA 以及来自 Desc 的相应串联 TableB 字符串。

以上是如何在 Oracle SQL 中连接多行的列值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn