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

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

Mary-Kate Olsen
发布: 2025-01-23 15:01:12
原创
959 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板