我有两张桌子:
具有 player_id 和名称的玩家
具有 player_id 和 team_id 的团队
并非所有球员都有球队参赛资格。
我正在尝试创建一个查询,给定一个 player_id,如果在 team 表中找不到player_id ,它将返回名称和 null。
我已经尝试了各种 JOIN,但我得到 null、null 或在表中找到的第一个 team_id 的名称。
谢谢你的帮助
做这个
SELECT p.PlayerID, t.PlayerID
FROM Player p
LEFT JOIN Team t
ON p.PlayerID = t.PlayerID
如果您希望返回 null,请选择 t.PlayerID,因为如果它存在于 Player 中,p.PlayerID 将不会为 null
您的结果将如下所示
PlayerID Player Name TeamID PlayerID
-------------------------------------------------
0001 John NULL NULL
如您所见,第二个 PlayerID 为 NULL 而不是第一个。选择第二个例如WHERE t.PlayerID IS NULL