我有3个表:用户,游戏和玩家。为简单起见,我会说这些表看起来像这样:
用户
id int AUTO_INCREMENT,
PRIMARY KEY (id)
游戏
id int AUTO_INCREMENT,
PRIMARY KEY (id)
玩家
game_id int,
user_id int,
FOREIGN KEY (game_id) REFERENCES (games.id),
FOREIGN KEY (user_id) REFERENCES (users.id)
我需要选择users.id
,其中players.game_id
为1
到目前为止我试过了
SELECT users.id FROM users, game_users WHERE players.id = 1
以及SELECT
s的一些INNER JOIN
声明,但无济于事。
如果只需要user_id
不需要JOIN
SELECT user_id
FROM players
WHERE game_id =1
现在,如果您需要名称,单个JOIN
将起作用
SELECT users.name
FROM players
JOIN users
ON player.user_id = users.id
WHERE game_id =1
您必须有一个加入密钥才能加入用户和游戏。如
...WHERE game_users.id = 1 AND users.id=game_users.id
而且你没有一个名为game_users的表