sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo recopilar múltiples valores como una sola cadena en postgres?

Puedes unir las tablas y usar array_agg para combinar los valores separados por una coma

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

Demostración de SQLFiddle

o 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

Demostración de SQLFiddle