Ich versuche, eine Spalte auszuwählen, die eine Aggregation aller Titel der verknüpften Zeilen ist, geordnet nach den Erstellungsdatum der verknüpften Zeilen. Wie auch immer die ORDER BY
in der INNER JOIN
, bleibt die Zeichenfolge der Titel immer gleich.Aggregierte Tabellentitel in kommagetrennte Zeichenfolge, nach Zeit sortiert
Hier ist meine Frage:
SELECT
id AS assignment_id,
ARRAY_TO_STRING(ARRAY(SELECT DISTINCT UNNEST(ARRAY_AGG(_outlets.title))), ',', '') AS outlets,
FROM
assignments
LEFT JOIN (
SELECT
assignment_outlets.created_at AS created_at,
outlet_id,
assignment_id,
title
FROM assignment_outlets
INNER JOIN outlets ON outlets.id = assignment_outlets.outlet_id
ORDER BY assignment_outlets.created_at DESC
)
AS _outlets
ON _outlets.assignment_id = assignments.id
GROUP BY assignments.id;
Ich versuche, das Ergebnis 'title1,title2,title3,title4,...'
zu bekommen, wo sie bestellt werden von als ältestem neuesten links nach rechts.
Sie Probe veröffentlichen können Ausgänge von dem, was Sie zurückkommen und was würden Sie zurückkommen? – Nicarus
"Comma separated array" - ich muss es notieren! ;) – Adam
Etwas wie '..., array_to_string (array_agg (distinct _outlets.title order von _outlets.created_at desc), ',') ...' – Abelisto