将多行的选定列合并为一个字符串

时间:2019-02-21 20:32:12

标签: sql postgresql postgresql-9.5 string-aggregation

说我有下表:

select coalesce(field1, '') || ' ' || coalesce(field2::text, '') from xyz;

要连接选定的列(field1和field2),我可以使用以下查询:

ABC 123
GHI 432
222

这将产生以下结果:

ABC 123, GHI 432, 444

如何将所有结果行合并为一行?我想实现以下目标

iris

SQL Fiddle

1 个答案:

答案 0 :(得分:0)

您可以使用array_agg

SELECT array_agg(coalesce(field1, '') || ' ' || coalesce(field2::text, '') )
FROM xyz

http://sqlfiddle.com/#!17/535f6/7