PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

как да събера множество стойности като един низ в postgres?

Можете да се присъедините към таблиците и да използвате array_agg за комбиниране на стойностите, разделени със запетая

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

или чрез 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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Последователност, запазвайки много към много

  2. Файлове за развитие на Playframework, съвместими с postgres и h2

  3. Изпълнение на необработена заявка при миграция - Sequelize 3.30

  4. PostgreSQL налага стандартен SQL синтаксис

  5. PostgreSQL:намерете броя на последователните дни до момента