Hallo Vinzenz,
das hat mich ja richtig nach vorne gebracht. Endlich hab ich die Joins kapiert - und dabei ist das eigentlich gar nicht so kompliziert. Ich bin auch dem Hinweis von Frank nachgegangen und habe mir GROUP_CONCAT angeschaut. Damit habe ich genau das erreicht, was ich haben wollte.
Nun gibt es noch eine Feinheit, die mich zwar nicht sehr stört, aber die ich trotzdem gerne verstehen/beheben würde. Mein Query ist folgender:
SELECT
t.id,
t.datum,
t.referenz,
t.preis,
tb.id,
GROUP_CONCAT( distinct(b.beschreibung) ) Besonderheiten,
FROM
tour t
LEFT OUTER JOIN
tour_besonderheit tb
ON
t.id = tb.tour_id
LEFT OUTER JOIN
besonderheit b
ON
b.id = tb.besonderheit_id
WHERE t.firma_id = 4
GROUP BY
t.id
ORDER BY
t.id
Wenn ich nun alle Touren mit einer bestimmten Besonderheit anzeigen lassen möchte, erweitere ich die WHERE-Bedingung um ein
AND b.id = 4
Das klappt auch, wobei GROUP_CONCAT dann nur die ausgewählte Besonderheit aufzählt. Schöner wäre, wenn in der Auflistung trotzdem alle Besonderheiten aufgezählt wären. Hast Du da 'nen Tipp für mich?
Besten Dank
JOhnnY