Oracle SQL:组合多行的列值
本指南演示了在 Oracle SQL 中连接多行列值的有效方法。 LISTAGG
函数提供了一个简单的解决方案:
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;</code>
此查询执行以下操作:
pid
分组:表B
中的行根据pid
列进行分组。Desc
值: LISTAGG
函数连接每个 Desc
组的 pid
列中的值。 使用空格 (' ') 作为分隔符。seq
排序: 每组内的串联顺序由 seq
列确定。description
列: 每个 pid
组的串联字符串将分配给 description
列。要检索特定的 pid
值,请将此结果集与表 A
连接。
重要注意事项: LISTAGG
针对 VARCHAR2
列进行了优化。 对于其他数据类型,请探索替代的 Oracle 字符串聚合技术。
以上是如何在 Oracle SQL 中连接多行的列值?的详细内容。更多信息请关注PHP中文网其他相关文章!