我有两个表,Team(teamID(pk),teamName)和Fixture(fixtureID,TeamA_ID(fk),TeamB_ID(fk))如何查询fixture表并获取两个团队的名称。
答案 0 :(得分:1)
您需要两次加入Fixture表。这样的事情。
select *
from Fixture f
join Team t1 on t1.TeamID = f.TeamA_ID
join Team t2 on t2.TeamID = f.TeamB_ID
答案 1 :(得分:0)
您可以多次加入同一张桌子。
如果Fixture中的那些外键可以包含NULL值,那么通过使用LEFT JOIN(而不是INNER JOIN),你仍然可以从Fixture表中获取所有内容。
select
AB.fixtureID,
A.teamName as TeamA_Name,
B.teamName as TeamB_Name
from Fixture AB
left join Team A on (A.TeamID = AB.TeamA_ID)
left join Team B on (B.TeamID = AB.TeamB_ID)