Adrian der Grosse
Aktives Mitglied
Hallo zusammen,
Ich habe 3 Tabellen:
TabelleA
TabelleB: Bindeglied zwischen TabelleA und TabelleC
TabelleC
Zu jedem TabelleA-Datensatz können mehere TabelleC-Datensätze gehören.
Ein TabelleC Datensatz kann aber auch zu mehrere TabelleA-Datensätze gehören
Nun mein Vorhaben:
Select tabelleA.spalteX, (...) from TabelleA join TabelleB on TabelleB.tabA = TabelleA.id join TabelleC on TabelleC.id = TabelleB.tabC where TabelleC.wert = 'beispiel'
In TabelleC existierten mehrere Datensätze mit der Spalte wert = 'beispiel'.
Das Problem ist nun, dass bei einer Abfrage, einige Datensätze (TabelleA) mehrmals zurückgegeben werden. Ein distinct geht sehr zu lasten der Performance-> möchte ich nicht.
Ich denke mal man muss irgendwas an den Join's ändern, nur weiss ich nicht genau was, habe mir vorher damit gleich den mySQL-Server zerschossen
Hat jemand einen Tipp?
Vielen Dank
Adrian
Ich habe 3 Tabellen:
TabelleA
TabelleB: Bindeglied zwischen TabelleA und TabelleC
TabelleC
Zu jedem TabelleA-Datensatz können mehere TabelleC-Datensätze gehören.
Ein TabelleC Datensatz kann aber auch zu mehrere TabelleA-Datensätze gehören
Nun mein Vorhaben:
Select tabelleA.spalteX, (...) from TabelleA join TabelleB on TabelleB.tabA = TabelleA.id join TabelleC on TabelleC.id = TabelleB.tabC where TabelleC.wert = 'beispiel'
In TabelleC existierten mehrere Datensätze mit der Spalte wert = 'beispiel'.
Das Problem ist nun, dass bei einer Abfrage, einige Datensätze (TabelleA) mehrmals zurückgegeben werden. Ein distinct geht sehr zu lasten der Performance-> möchte ich nicht.
Ich denke mal man muss irgendwas an den Join's ändern, nur weiss ich nicht genau was, habe mir vorher damit gleich den mySQL-Server zerschossen
Hat jemand einen Tipp?
Vielen Dank
Adrian