sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo eliminar duplicados, que se generan con la función postgres array_agg

Puedes usar el distinct palabra clave dentro de array_agg :

SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT CONCAT(u.firstname, ' ', u.lastname)), ', ')
FROM log_has_item logitem
  INNER JOIN log log ON log.id = logitem.log_id
  INNER JOIN worker u ON log.worker_id = u.id
WHERE logitem.company_id = 1

SQLFiddle con este ejemplo