web-dev-qa-db-ja.com

外部キーを持つ3つのテーブルからクエリを選択します

相互に外部キーを持つ3つのテーブルがあります。そのうちの1つからレコードを選択するSQLServerストアドプロシージャを作成したいと思います。

My tables

ここで、ID = 2のゲームを参照するプレーヤーレコードを参照するすべての勝者レコードが必要だとしましょう。どうすれば続行できますか?

ありがとうございました。

10
Slimane Agouram

指定しました すべての勝者の記録 プレイヤーとゲームに左結合を使用したように。ただし、全体的なコードは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
8
Selva

SELECTINNER 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
3
Darren