snorri: zwei Joins im gleichen Feld (MySQL 4)

Beitrag lesen

Hi alle!

Gesetzt den vereinfachten Fall, ich habe eine Datenbank mit zwei Tabellen:

teilnehmer (id, name)
spiel (id_teilnehmer1, id_teilnehmer2, ergebnis)

Jeder Eintrag in "spiel" verknüpft also genau zwei Datensätze in "teilnehmer". Wenn ich nun eine Liste aller Spiele erstellen will, dann ist ...

SELECT * FROM spiel

... nicht sehr erhellend, weil ich von den beiden Personen jeweils nur die id, nicht aber den Namen angezeigt bekomme. Mit ...

SELECT teilnehmer.id AS teilnehmer1, spiel.teilnehmer2, spiel.ergebnis
     FROM teilnehmer, spiel
     WHERE spiel.id_teilnehmer1=teilnehmer.id

... wird mir immerhin ein Teilnehmer namentlich angezeigt. Den anderen kann ich aber nicht auf diese Weise hineinjoinen, weil das nicht mehr eindeutig definiert wäre;

SELECT teilnehmer.id AS teilnehmer1, teilnehmer.id AS teilnehmer2 [...]

Wie macht man sowas? Ohne PHP, meine ich, also in einem SQL-Statement ohe subqueries? Geht das überhaupt?

-- snorri