PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

comment collecter plusieurs valeurs en une seule chaîne dans postgres?

Vous pouvez joindre les tables et utiliser array_agg pour combiner les valeurs séparées par une virgule

SELECT a.id, array_agg(b.name) assignments
FROM    Project a
        INNER JOIN assignment b
          ON a.id = b.project_ID
GROUP BY a.id

Démo SQLFiddle

ou en utilisant STRING_AGG

SELECT a.id, STRING_AGG(b.name, ', ' ORDER BY b.name) assignments
FROM    Project a
        INNER JOIN assignment b
          ON a.id = b.project_ID
GROUP BY a.id

Démo SQLFiddle