PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

como coletar vários valores como uma única string no postgres?


Você pode juntar as tabelas e usar array_agg para combinar os valores separados por uma vírgula
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

Demonstração do SQLFiddle


ou usando 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

Demonstração do SQLFiddle