[英]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.