簡體   English   中英

SQL相同的聯接在具有不同值的兩列中

[英]SQL same join in two columns with different values

我不知道什么是最好的方法

斗爭

Fighter_ID1 | Fighter_ID2

FIGHTERS

ID | Fighter

OUTPUT

Fighter1 | Fighter2

我想將表FIGHTERS的列fighter與表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

看來您需要兩次參加桌子。

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作為字段獲取戰斗機名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM