我正在尝试在第一个表主键上连接三个表,其中两个表都拥有外键。
实施例
SELECT *
FROM team_member
INNER JOIN bench_member
ON team_member.team_member_id=bench_member.team_member_id
INNER JOIN player
ON team_member.team_member_id=player.team_member_id
每个联接都是单独的,但是当我尝试将它们组合起来时。它给了我空的结果集。真的很困惑这里发生了什么。
答案 0 :(得分:1)
假设每个team_member都是bench_member或者不是两个,那么你可能想要这样的东西。 SQLFiddle
select t.*,
case when b.team_member_id is not null then 'Bench'
when p.team_member_id is not null then 'Player'
end
from team_member t
left join bench_member b on t.team_member_id = b.team_member_id
left join player p on t.team_member_id = p.team_member_id
答案 1 :(得分:0)
尝试左外连接。您将能够更好地分析数据。