これを行うための最良の方法がわかりません
喧嘩
Fighter_ID1 | Fighter_ID2
ファイターズ
ID | Fighter
出力
Fighter1 | Fighter2
fighter
テーブルFIGHTERS
の列をテーブルの2つの列と結合したいFIGHT
..
ばかげた質問かもしれませんが、これを正しく行う方法がわかりません
私の英語について申し訳ありません、そして感謝します
SELECT F1.Fighter as Fighter1,
F2.Fighter as Fighter2
FROM FIGHT
INNER JOIN FIGHTERS as F1 ON FIGHT.Fighter_ID1 = F1.ID
INNER JOIN FIGTHERS as F2 ON FIGHT.Fighter_ID2 = F2.ID
テーブルに2回参加する必要があるようです。
SELECT fs1.Fighter as Fighter1, fs2.Fighter as Figther2
FROM Fight f
INNER JOIN Fighters fs1
ON f.Fighter_ID1 = fs1.id
INNER JOIN Fighters fs2
ON f.Fighter_ID2 = fs2.id
どうですか
select f1.name, f2.name -- pick any column you like
from FIGHT f -- from here we join both fighters by id
join FIGHTER f1 on f.fighter_id1 = f1.id
join FIGHTER f2 on f.fighter_id2 = f2.id
戦闘ごとに2人の戦闘機がいるため、テーブルのエイリアスを作成する必要があります。ここに直接入力しているので、100%正確であるとは保証できませんが、次のようになります。
SELECT *
FROM FIGHT
INNER JOIN FIGHTERS AS F1 ON F1.ID = Fighter_ID1
INNER JOIN FIGHTERS AS F2 ON F2.ID = Fighter_ID2
次に、F1.FighterとF2.Fighterをフィールドとして使用して戦闘機の名前を取得できます。