我正在尝试在第一个表主键上连接三个表,其中其他两个表都拥有外键。
示例
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
每个连接都是单独工作的,但是当我尝试将它们组合起来时。它给了我空结果集。真的很困惑这里发生了什么。
最佳答案
假设每个 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
关于mysql - 连接同一主键 MYSQL 上的三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807012/