Qualcuno ha idea di come riscrivere la query SQL seguente per generare risultati, che conterrebbe solo una occorrenza di nome? (risultati raggruppati per utente).Come rimuovere i duplicati, che vengono generati con la funzione array_agg postgres
La query
SELECT array_to_string(array_agg(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
interrogazione eseguibile e 'disponibile sul sqlfiddle.com. Fare clic sul pulsante Esegui SQL e si tradurrà, che contiene Frantisek Smith due volte
'array_agg (concat distinti (.. .))) ' –
In Postgre 9.0+ c'è la funzione' string_agg (text, text) '. Potrebbe essere più semplice scrivere 'string_agg (CONCAT (...), ',')' –
@a_horse_with_no_name funziona bene, ma scrambles l'ordine. Un modo per preservarlo? – Rodrigo