我有 3 个相互有外键的表。我想编写一个 SQL Server 存储过程来从其中一个中选择记录。
现在,假设我想要所有的获胜者记录都引用指向 ID=2 的游戏的玩家记录,我该如何继续?
谢谢你。
我有 3 个相互有外键的表。我想编写一个 SQL Server 存储过程来从其中一个中选择记录。
现在,假设我想要所有的获胜者记录都引用指向 ID=2 的游戏的玩家记录,我该如何继续?
谢谢你。
你已经指定了所有的获胜者记录,所以我使用左连接来表示玩家和游戏。但是整体代码根据 where 条件工作。
试试这个,
select w.* from Winner w
left Join Player p on p.ID_player = w.player_FK
left join Game g on g.ID_game = p.Game_FK
where Game.ID_game = 2
您需要使用 aSELECT
然后INNER JOIN
在 GameID 2 上进行过滤,您可以使用WHERE
子句。
SELECT ID_Winner, Name, Lastname, Player_FK
FROM Winner
INNER JOIN Player on Player.ID_Pplayer = Winner.Player_FK
INNER JOIN Game ON Game.ID_game = Player.Game_FK
WHERE Game.ID_game = 2