Zwei Tabellen mittels dritter Tabelle verknüpfen?

Zuerst die tags pro Datei_ID mittels GROUP_CONCAT() zusammenführen

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:

Neue Beiträge

Zurück