SQL ID Übersetzung aus anderer Tabelle

n00del

Ensign
Registriert
Apr. 2013
Beiträge
204
Hallo,

ich möchte gerne eine SQL Abfrage für meinen Gameserver schreiben und habe als Ausgangslage eine Tabelle in der folgende Informationen gehalten werden:
Tabellenname: Killinfo
AngreiferID, OpferID, Waffe, Entfernung

Jetzt möchte ich gerne in einem SQL Query die beiden IDs in die Nicknames übersetzen .
Es gibt die Tabelle Player in der diese Informationen erhalten sind, denn dort gibt es die jeweiligen IDs und auch den Nickname.

Jetzt fehlt mir leider ein Anhaltspunkt wie ich AngreiferID und OpferID aus ein un der selben Tabelle "Player" ID übersetze,
sodass am Ende dort der Nickname des Angreifers, Nickname des Opfers, Waffe, Entfernung steht.

Hoffe ich konnte es ansatzweise verständlich machen was ich möchte.
Vielen Dank :)
 
Sollte ganz einfach sein:

select b.Playername, c.Playername, a.Waffe, a.Entfernung from
Killinfo as a
join Player as b on a.angreiferid = b.id
join Player as c on a.opferid = c.id

Habs nicht getestet, würde es so mal probieren.
Du joinst halt Player zweimal, einmal als b genannt und einmal als c. Damit hast du den Unterschied, ob es Angreifer oder Opfer ist.
 
SELECT * FROM Killinfo INNER JOIN Player AS angreifer ON (angreifer.id = Killinfo.AngreiferID) INNER JOIN Player AS opfer ON (opfer.id = OpferID)
 
Danke für die Antworten, beides liefert kein Ergebnis aus.
Kann es daran liegen, dass die AngreiferID nicht immer gefüllt ist? (passiert bei Selbstmord)
 
Durch ein INNER JOIN flögen Selbstmorde raus, ja, aber nur die Selbstmorde. Wenn aber generell keine Ergebnisse zurückkommen, dann ist irgendetwas anderes im Argen. Wirf mal stichprobenartig einen Blick in die Tabelle Player, ob die IDs aus Killinfo dort überhaupt existieren.

Welches DBMS wird hier eigentlich verwendet?
 
Zurück
Oben