sql >> Databasteknik >  >> RDS >> PostgreSQL

hur man samlar flera värden som en enda sträng i postgres?

Du kan gå med i tabellerna och använda array_agg för att kombinera värdena separerade med kommatecken

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

eller genom att använda 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




  1. Salesforce SOQL från Crystal Reports

  2. Ta bort dubbletter av rader i MySQL (ignorerar primärnyckel)

  3. SQL väljer medelpoäng över datumintervall

  4. Postgres:hur rundar man en tidsstämpel uppåt eller nedåt till närmaste minut?