PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie sammelt man mehrere Werte als eine einzelne Zeichenfolge in Postgres?

Sie können die Tabellen verbinden und array_agg verwenden um die durch ein Komma getrennten Werte zu kombinieren

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

SQLFiddle-Demo

oder durch Verwendung von 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

SQLFiddle-Demo