Sql server和Postgresql 多条记录字符串合并
使用的SQL语句
select sessionid,tag from nodetrace where sessionid = 'linpubc248-2021033060757-14'
查出的结果:
我需要的结果:
SqlServer:
SELECT
B.sessionid,
STUFF((
SELECT ',' + nodetrace.tag
FROM nodetrace
WHERE B.sessionid = nodetrace.sessionid
order by outnodetime
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') as tag
FROM nodetrace B
group BY B.sessionid
Postgresql:
select B.sessionid,
string_agg(tag ,';' )
//string_agg(tag ,';' ORDER BY a desc), 可以添加需要排序的字段
from nodetrace B
GROUP BY B.sessionid