Hallo Tim,
ich würde das Ganze etwas anders lösen:
was heißt anders. Ein Einsteiger weiß noch nichts von Aggregatsfunktionen und der GROUP-BY-Klausel. Es gibt SQL-Dialekte, da darf man sich GROUP_CONCAT() selbst bauen :-(
Wer übers Einsteigerniveau hinaus ist, verwendet keine impliziten Joins mehr :-)
Also statt:
SELECT
t.ID,t.Text,GROUP_CONCAT(q.Quellenname SEPARATOR ', ') as Quellen
FROM
texte t, quellen q, textquellen tq
WHERE
t.ID=tq.textID AND
tq.quellenID=q.QID
GROUP BY
t.ID,t.Text
~~~sql
SELECT
t.id,
t.text,
[link:http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_group-concat@title=GROUP_CONCAT](q.Quellenname SEPARATOR ', ') Quellen
FROM
texte t
INNER JOIN
text_quellen tq
ON
t.id = tq.id_text
INNER JOIN
quellen q
ON
tq.id_quelle = q.QID
GROUP BY
t.id,
t.text
AS für Spaltenaliasnamen vermeide ich nur aus Kompatibilitätsgründen :-)
Freundliche Grüße
Vinzenz