gpt4 book ai didi

sql - 将多个值组合到 Postgres 中的一个单元格中

转载 作者:行者123 更新时间:2023-11-29 12:40:35 24 4
gpt4 key购买 nike

我有一个数据集,可以包含多个具有相同 claim 编号的行。和不同的名字:

   claim_id           name
112 John Smith
112 Tom Harris
113 Randy Dugar

如果 claim id 相同,那么我需要所有的名字都在一行中,用逗号分隔:

    claim_no          name
112 John Smith, Tom Harris
113 Randy Dugar

我已经在 T-SQL 中创建了类似的东西,但对 Postgres 是新手。我试过类似下面的方法,但我只是收到一个错误:

   with firstrun as(
select distinct kia.claim_id as claim_id, c.first_name ||' '
||c.last_name as name
from kia
inner join
claims c
on kia.claim_id = c.claim_id


)

select distinct claim_id, substring((Select ',' || ' '|| fr.name as text()]
from firstrun fr
for xml path('')), 2, 500)

最佳答案

string_agg 聚合函数将为您完成所有繁重的工作:

SELECT   claim_id, STRING_AGG(name, ', ')
FROM claims
GROUP BY claim_id

关于sql - 将多个值组合到 Postgres 中的一个单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544751/

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