我有两张桌子:
拥有player_id且名称为
的玩家拥有player_id和team_id
的团队并非所有玩家都有团队参赛作品。
我正在尝试创建一个查询,给定一个player_id,将返回该名称,如果在团队表中找不到 ,则返回null。
我已经尝试了各种JOIN,但是我得到null,null或者在表中找到第一个team_id的名称。
感谢您的帮助
答案 0 :(得分:3)
这样做
SELECT p.PlayerID, t.PlayerID
FROM Player p
LEFT JOIN Team t
ON p.PlayerID = t.PlayerID
如果要返回null,请选择t.PlayerID,因为如果播放器中存在p.PlayerID,它将不为空
您的结果将如下所示
PlayerID Player Name TeamID PlayerID
-------------------------------------------------
0001 John NULL NULL
正如你所看到的那样,第二个PlayerID是NULL而不是第一个。选择第二个,例如WHERE t.PlayerID IS NULL