2 Foreign Keys

Tom92

Neuer Benutzer
Beiträge
3
Hallo Leute, bin neu hier im Forum und hätte eine Frage zu einer SQL-Abfrage.

Kurz zu meinen Tabellen, ich hab ne Tabelle "matches" wo ich Ergebnisse abspeichere. Dort hab ich 2 Spalten Player1ID und Player2ID welche als Fremdschlüssel auf meine Tabelle "players" verweisen.
Dort kann ich dann anhand der ID den Vor- und Nachnamen des Spielers ermitteln.

Allerdings hab ich immer den Namen von einem Gegner, aber ich hätte natürlich gern die Namen von beiden.
Kann mir jemand dabei helfen?

Code:
SELECT matches.Round, matches.Number, matches.Score1, matches.Score2, matches.VideoURL, matches.DetailsUrl,
       players.FirstName, players.LastName, players.FirstName, players.LastName
FROM matches, players
    WHERE EventID = 526
    AND Player1ID = players.ID
    ORDER BY matches.Round DESC;

So oder so ähnlich hab ich es versucht zu realisieren, wenn ich allerdings die Player2ID noch mit players.ID vergleiche bekomm ich kein Ergebnis.

Vielen Dank schonmal im Vorraus!
 
Werbung:
Doppelt joinen, dabei expliziete Join-Syntax verwenden und Aliase vergeben. Mit diesen Aliasen kannst Du dann auf die gejointen Tabellen zugreifen. Ganz easy.
 
Code:
test=# create table mannschaften(id int primary key, name text);
CREATE TABLE
test=*# create table spiel(heim int references mannschaften, gast int references mannschaften);
CREATE TABLE

test=*# select h.name as heim, g.name as gast from spiel s left join mannschaften h on s.heim=h.id left join mannschaften g on s.gast=g.id;
 heim | gast
------+------
(0 Zeilen)

test=*#
 
Werbung:
Zurück
Oben