使用两个连接列将MySQL组concat转换为Postgres

时间:2017-01-28 16:56:00

标签: mysql postgresql concat group-concat

如何使用Postgres创建类似的查询来重新创建此MySQL版本。

SELECT u.id, GROUP_CONCAT(CONCAT(r.firstname,' ',r.lastname, ' [', r.type,']') SEPARATOR ', ') AS names
FROM reference r, users u
WHERE r.user_id = u.id
GROUP BY r.user_id

1 个答案:

答案 0 :(得分:3)

使用string_agg。另外,使用显式连接语法。

SELECT u.id, string_agg(r.firstname || ' ' || r.lastname || ' [' || r.type || ']' , ', ') AS names
FROM reference r join users u
on r.user_id = u.id
GROUP BY r.user_id