Die obigen Erkenntnisse neu zusammengewürfelt:
SELECT
S.SpielerID,
S.SpielerName,
VZ.VereinsName,
B.BewertungenFach,
B.BewertungenLiga_o_Laender,
B.BewertungenPaarung,
B.BewertungenNote,
B.BewertungenBemerkung
FROM tabelle_Spieler S
JOIN tabelle_Vereinszugehoerigkeit VZ
ON ( VZ.SpielerID = S.SpielerID AND VZ.VereinsID = 2 )
LEFT JOIN tabelle_Bewertungen B
ON ( B.SpielerID = S.SpielerID )
LIMIT 0, 30
>
> Bemerke, dass wir die WHERE Bedingung »VZ.VereinsID = 2« in die ON Bedingung des Joins gezogen haben. Diese Optimierung bewirkt, dass die Selektion vor dem Join passiert, also weniger Datensätze mit einander verbunden werden müssen.
>
Wow! Zum ersten Mal macht die Anweisung in etwa das, was ich auch haben will. :-))
2-3 Punkte noch:
1) Könntest Du mir versuchen, mit Worten die select-Anweisung zu umschreiben? Ich raffs leider nicht, würde es aber gerne, damit ich nicht beim nächsten ähnlichen Problem wieder fragen muß.
2) In Deiner Anweisung steht "select VereinsName, was auch gut und schön wäre, leider gibt das nen mysql-fehler, da der Vereinsname nur in der Tabelle "Verein" steht und die VereinsID zusammen mit der SpielerID die Tabelle Vereinszugehoerigkeit bildet.
Kann man die Anweisung noch so umstricken, daß anstelle (oder zusätzlich zur) der VereinsID der VereinsName ausgespuckt wird?
Danke für Deine Hilfe, ich strick an dieser Anweisung nun schon den halben Tag lang herum und komm alleine echt nicht weiter.
Grüße, Q.