Tach!
ich habe
SELECT *,group_concat(idv) FROM `xlieder` left join xjvl on xjvl.idl=xlieder.id where xlieder.id=6 group by xjvl.idv order by xlieder.id
und bekomme
id|Aufsteigend|1|title|idv|idl|group_concat(idv) 6|eieiDeius|1|6|1 6|eieiDeius|2|6|2
Fehler meinerseits. Das Gruppieren muss über idl
erfolgen, das GROUP_CONCAT()
aber weiterhin über idv
.
Die Abfrage lässt sich auch ohne Join stellen, dafür mit Corellated Subquery. Auf diese Weise entfällt, dass ein kartesiches Produkt gebildet wird, das man dann wieder rauskürzen muss. Und meiner Meinung nach drückt das auch besser/direkter aus, was man eigentlich für ein Ergebnis haben möchte.
SELECT *, (SELECT GROUP_CONCAT(idv) FROM xjvl WHERE xjvl.idl = xlieder.id)
FROM xlieder
WHERE EXISTS(SELECT * FROM xjvl WHERE xjvl.idl = xlieder.id)
Das WHERE ist nur drin, um Lieder ohne Verknüpfung in xjvl nicht Ergebnis zu haben.
dedlfix.