Zuerst die tags pro Datei_ID mittels GROUP_CONCAT() zusammenführen
Jetzt verknüpfen wir das ganze mit einem LEFT JOIN
Und zusammen ergibt das
SQL:
SELECT
dt.Datei_ID,
GROUP_CONCAT(t.Tagwort ORDER BY t.Tagwort SEPARATOR ' ') AS tags
FROM
T_DATEI-TAG AS dt,
T_TAGS AS t
WHERE
dt.Tag_ID = t.ID
GROUP BY
dt.Datei_ID
Jetzt verknüpfen wir das ganze mit einem LEFT JOIN
SQL:
SELECT
d.*,
tags.tags
FROM
T_DATEI AS d
LEFT JOIN ( [inneres Query] ) AS tags
ON tags.Datei_ID = d.ID
WHERE
d.ID = 123
Und zusammen ergibt das
SQL:
SELECT
d.*,
tags.tags
FROM
T_DATEI AS d
LEFT JOIN ( SELECT
dt.Datei_ID,
GROUP_CONCAT(t.Tagwort ORDER BY t.Tagwort SEPARATOR ' ') AS tags
FROM
T_DATEI-TAG AS dt,
T_TAGS AS t
WHERE
dt.Tag_ID = t.ID
GROUP BY
dt.Datei_ID
) AS tags
ON tags.Datei_ID = d.ID
WHERE
d.ID = 123
Zuletzt bearbeitet von einem Moderator: