Hallo,
ich hatte nur einen kleinen Denkfehler drin. Jatzt hab ichs begriffen. Gar nicht mal so schwer!
schön.
select
b.xxx,
b.yyy,
t.ddd,
t.rrr,
t.uuu
FROM tab1 b, tab2 t
WHERE b.bestellID = t.bestellID AND b.SpielID=$SpielIDRichtig so? Oder gehts noch leichter?
Schöner. Mit der expliziten JOIN-Syntax, siehe gern auch die Titel unser beiden Artikel :-)
SELECT -- Gib mir
b.xxx, -- die gewünschten
b.yyy, -- Spalten
t.ddd,
t.rrr,
t.uuu,
FROM -- aus Tabelle
tab1 b -- tab1, die mit b angesprochen wird und
INNER JOIN -- mit der Tabelle
tab2 t -- tab2, die hier mit t angesprochen wird
ON -- über die Bedingung
b.bestellID = t.bestellID -- gleicher Werte in den Spalten bestellID
-- verknüpft ist,
WHERE -- wobei nur die Datensätze berücksichtigt
b.SpielID = <Vorgabe> -- werden, die in der Spalte SpielID den
-- Vorgabewert enthalten
Ich bevorzuge diese Schreibweise, weil sie klar macht, über welche Bedingung die Tabellen miteinander verknüpft sind (JOIN-Bedingung) und welche Einschränkungen für die Ergebnismenge gelten (WHERE-Klausel).
Spätestens bei der Verknüpfung dreier Tabellen kannst Du mit dem Komma-Operator bei der Aufzählung der Tabellen mit impliziten Joins (Deine Version) Schiffbruch erleiden, weil die Reihenfolge der Aufzählung seit MySQL 5.0.12 eine wichtige Rolle spielt - und nicht beliebig ist.
Beim OUTER JOIN gibt es meiner Meinung nach heutzutage sowieso keine Alternative zur expliziten JOIN-Syntax, so dass es kein erhöhter Lernaufwand ist, sich gleich mit dieser vertraut zu machen.
Freundliche Grüße
Vinzenz