2

これを行うための最良の方法がわかりません

喧嘩

Fighter_ID1 | Fighter_ID2

ファイターズ

ID | Fighter

出力

Fighter1 | Fighter2

fighterテーブルFIGHTERSの列をテーブルの2つの列と結合したいFIGHT..

ばかげた質問かもしれませんが、これを正しく行う方法がわかりません

私の英語について申し訳ありません、そして感謝します

4

4 に答える 4

2
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
于 2012-04-18T22:30:56.123 に答える
1

テーブルに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
于 2012-04-18T22:31:10.007 に答える
1

どうですか

    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
于 2012-04-18T22:31:39.470 に答える
1

戦闘ごとに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をフィールドとして使用して戦闘機の名前を取得できます。

于 2012-04-18T22:32:01.847 に答える