Hallo zusammen,
ich habe einen Staffel-Wettkampf. Daran nehmen mehrere Teams mit jeweils drei Athleten teil.
Daher habe ich eine Tabelle mit den Teamdaten (Startnummer, Startzeit, Zielzeit, ..) und eine Tabelle mit den Personendaten (Name, Vorname, Alter, ...). Aus der Tabelle der Teams binde ich über die ID die drei zum Team gehörenden Athleten ein.
team
id
Teamname
Startnummer
athlet1_id
athlet2_id
athlet3_id
startzeit
zielzeit
athlet
id
name
vorname
alter
Ich möhte als Ergebnis eine Reihe haben, in der alle Daten des einen Teams drinstehen:
Teamname, Startnummer, Name Athlet1, Name Athlet2, Name Athlet3
Wie geht das?
SELECT t.teamname, t.startnummer, a1.name, a2.name, a3.name
FROM teams AS t
LEFT JOIN athlet AS a1 ON t.athlet1_id = a1.id
LEFT JOIN athlet AS a2 ON t.athlet2_id = a2.id
LEFT JOIN athlet AS a3 ON t.athlet3_id = a3.id
ERGEBNIS
Teamname, Startnummer und Name Athlet 1 is OK, aber Name Athlet 2 und 3 ist NULL.
Kann mir jemand den entschidenen Tipp geben?
Danke im vorraus!
tria1312
ich habe einen Staffel-Wettkampf. Daran nehmen mehrere Teams mit jeweils drei Athleten teil.
Daher habe ich eine Tabelle mit den Teamdaten (Startnummer, Startzeit, Zielzeit, ..) und eine Tabelle mit den Personendaten (Name, Vorname, Alter, ...). Aus der Tabelle der Teams binde ich über die ID die drei zum Team gehörenden Athleten ein.
team
id
Teamname
Startnummer
athlet1_id
athlet2_id
athlet3_id
startzeit
zielzeit
athlet
id
name
vorname
alter
Ich möhte als Ergebnis eine Reihe haben, in der alle Daten des einen Teams drinstehen:
Teamname, Startnummer, Name Athlet1, Name Athlet2, Name Athlet3
Wie geht das?
SELECT t.teamname, t.startnummer, a1.name, a2.name, a3.name
FROM teams AS t
LEFT JOIN athlet AS a1 ON t.athlet1_id = a1.id
LEFT JOIN athlet AS a2 ON t.athlet2_id = a2.id
LEFT JOIN athlet AS a3 ON t.athlet3_id = a3.id
ERGEBNIS
Teamname, Startnummer und Name Athlet 1 is OK, aber Name Athlet 2 und 3 ist NULL.
Kann mir jemand den entschidenen Tipp geben?
Danke im vorraus!
tria1312