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

Как мога да комбинирам множество редове в една колона с помощта на PostgreSQL?

От PostgreSQL версия 9 това се прави просто с помощта на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Уникално нарушение:7 ГРЕШКА:дублиращата се стойност на ключа нарушава уникалното ограничение users_pkey

  2. Как да намерите и изтриете някои таблици от базата данни на PostgreSQL

  3. Използвайте \copy на psql за многоредова заявка

  4. Как да извлечете година и месец от дата в PostgreSQL, без да използвате функцията to_char()?

  5. Изберете име на колона и стойност от таблицата