1

我有两张桌子:

具有 player_id 和名称的玩家

具有 player_id 和 team_id 的团队

并非所有球员都有球队参赛资格。

我正在尝试创建一个查询,给定一个 player_id,如果在 team 表中找不到player_id ,它将返回名称和 null。

我已经尝试了各种 JOIN,但我得到 null、null 或在表中找到的第一个 team_id 的名称。

谢谢你的帮助

4

1 回答 1

3

做这个

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

于 2012-09-17T10:56:05.617 回答