gpt4 book ai didi

SQL 查询连接 Oracle 中多行的列值

转载 作者:行者123 更新时间:2023-12-03 04:22:27 25 4
gpt4 key购买 nike

是否可以构造 SQL 来连接其中的列值多行?

下面是一个例子:

表A

PIDABC

表B

PID   SEQ    DescA     1      HaveA     2      a niceA     3      day.B     1      Nice Work.C     1      YesC     2      we can C     3      do C     4      this work!

SQL 的输出应该是 -

PID   DescA     Have a nice day.B     Nice Work.C     Yes we can do this work!

那么输出表的 Desc 列基本上是表 B 中 SEQ 值的串联?

有 SQL 方面的帮助吗?

最佳答案

根据您的版本,有几种方法 - 请参阅 oracle documentation on string aggregation techniques 。一种非常常见的方法是使用 LISTAGG :

SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM B GROUP BY pid;

然后加入A来选择你想要的pid

注意:开箱即用,LISTAGG 仅适用于 VARCHAR2 列。

关于SQL 查询连接 Oracle 中多行的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686543/

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