sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu zkombinovat více řádků do jednoho sloupce pomocí PostgreSQL?

Od PostgreSQL verze 9 se to dělá jednoduše pomocí string_agg :

SELECT
  cmsdocument.internaldocid,
  cmsdocument.documentid,
  cmsdocument.versionid,
  cmsdocversion.title,
  string_agg(cmstag.tagname, ',')
FROM 
  public.cmsobjecttag,
  public.cmstag,
  public.cmsdocument,
  public.cmsdocversion,
  public.cmsuser
WHERE 
  cmsobjecttag.tagid = cmstag.tagid AND
  cmsobjecttag.objectid = cmsdocument.internaldocid AND
  cmsdocument.internaldocid = cmsdocversion.internaldocid AND
  cmsdocument.userid = cmsuser.userid AND
  cmsdocversion.state = 'published' AND
  cmsobjecttag.objecttype = '102'
GROUP BY 
  cmsdocument.internaldocid,
  cmsdocument.documentid,
  cmsdocument.versionid,
  cmsdocversion.title



  1. Mohu předpovědět, jak velký bude můj index Zend Framework? (a pár rychlých otázek)

  2. Aktivní záznam Aktualizovat vše pole JSON

  3. jak přiřadit hodnotu cte proměnné

  4. Typy indexů v oracle?