gpt4 book ai didi

SQL 将行连接到一个字段 (DB​​2)

转载 作者:行者123 更新时间:2023-12-04 13:15:44 25 4
gpt4 key购买 nike

我需要从我的 DB2 数据库中提取一些数据。我在一个表中有关键字,每个关键字是一个单独的行。在提取中,我希望在一个字符串中包含所有 ID 的所有关键字,用逗号分隔。

所以,解释一下:
我有这样的数据

ID         | keyword 
===========================
prd1 | test
---------------------------
prd2 | keywords
---------------------------
prd1 | flower
---------------------------
prd4 | picture
---------------------------
prd7 | 234567
---------------------------
prd9 | reored
---------------------------
prd4 | finland
---------------------------
prd0 | 983y23
---------------------------
prd4 | code
---------------------------
prd9 | tratata

这是我想要实现的目标的示例:
ID         | keyword concatenated
===========================
prd1 | test, flower
---------------------------
prd2 | keywords
---------------------------
prd4 | picture, finland, code
---------------------------
prd7 | 234567
---------------------------
prd9 | reored, tratata
---------------------------
prd0 | 983y23
---------------------------

我试过 concat :
SELECT concat(keyword) FROM table.keywordTbl

我尝试了一些特定于 DB2 的命令:
SELECT IDs, Sys_Connect_By_Path(varchar(keyword), ', ') AS "keyword concatenated" FROM table.keywordTbl START WITH ID='prd1' CONNECT BY ID=keyword
PIVOT 不适合这个,但我也检查过。 GROUP_CONCAT 也不起作用。

当然,这些都没有用……

你对我有什么提示吗?

最佳答案

尝试根据以下脚本修改查询

 SELECT 
ID,
SUBSTR(xmlserialize(xmlagg(xmltext(CONCAT( ', ',keyword))) as VARCHAR(1024)), 3) AS "keyword concatenated"
FROM table.keywordTbl
GROUP BY ID

关于SQL 将行连接到一个字段 (DB​​2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805101/

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