【发布时间】:2018-09-27 20:34:32
【问题描述】:
我有一个数据集,可以多行具有相同的索赔编号。和不同的名字:
claim_id name
112 John Smith
112 Tom Harris
113 Randy Dugar
如果声明 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().
标签: sql postgresql select string-concatenation