PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

jak zebrać wiele wartości jako jeden ciąg w postgresie?

Możesz dołączyć do stołów i użyć array_agg połączyć wartości oddzielone przecinkiem

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

Pokaz SQLFiddle

lub używając 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

Pokaz 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. Firebase:Jak czytać z zewnętrznej bazy danych?

  2. Błąd składni w miejscu lub w pobliżu WHERE

  3. Wyjaśnij bardziej szczegółowo sugestię dotyczącą wydajności warunku JOIN vs. LEFT JOIN i WHERE

  4. Split string z split_part w języku azjatyckim

  5. Jak działa date_part() w PostgreSQL