PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come rimuovere i duplicati, che vengono generati con la funzione array_agg postgres

Puoi usare il distinct parola chiave all'interno di 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 questo esempio