10

我有 3 个相互有外键的表。我想编写一个 SQL Server 存储过程来从其中一个中选择记录。

我的桌子

现在,假设我想要所有的获胜者记录都引用指向 ID=2 的游戏的玩家记录,我该如何继续?

谢谢你。

4

2 回答 2

9

你已经指定了所有的获胜者记录,所以我使用左连接来表示玩家和游戏。但是整体代码根据 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
于 2013-08-06T13:50:59.520 回答
4

您需要使用 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
于 2013-08-06T13:14:12.817 回答