Also, sagen wir mal so, ich weiß zwar leider nicht, was in deinen Tabellen drinsteht, aber ich vermute mal, wenn du da mehr als einen Satz rauskriegst, dann müssen die sich durch irgend etwas unterscheiden. Das Problem liegt bei
SELECT *
Wenn du alles auswählst, kriegst du auch alles - Irgend ein Unterschied ist da, ein DISTINCT * macht AFAIK keinen Sinn, weil sich alle Sätze einer relationalen Datenbank (es sei denn, sie haben keinen Primärschlüssel) durch irgendetwas (und sei es der Primärschlüssel) unterscheiden. Also werden auch alle geliefert.
Ja, das kann sein, dass DISTINCT nicht so viel Sinn macht, aber mein Problem ist:
dass Veranstaltung xy mit der ID 5 in der
VeranstaltungDatum folgendermaßen gelinkt ist:
5 | 7
5 | 8
5 | 9
Jetzt werden die Daten 7,8,9 aus der Datum Tabelle gelesen, und das will ich vermeiden, es soll nur einmal ausgelesen werden.
Versuch mal:
SELECT DISTINCT bezeichnung, datum
FROM Veranstaltung
LEFT JOIN VeranstaltungDatum ON Veranstaltung.ID = VeranstaltungDatum.Veranstaltung_ID
LEFT JOIN Datum ON VeranstaltungDatum.Datum_ID = Datum.ID
Leider auch nicht, meine Veranstaltungen werden nach wie vor doppelt bzw. mehrfach angezeigt :(
Ich möchte sowas wie:
SELECT * FROM Veranstaltung
Aber so, dass ich das Datum noch per PHP ausgeben kann.
Und das bekomme ich nicht hin! :(