根据来自其他两个SQL的数据从表中选择数据

问题描述 投票:-1回答:2

我有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

以及SELECTs的一些INNER JOIN声明,但无济于事。

php mysql sql
2个回答
1
投票

如果只需要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

0
投票

您必须有一个加入密钥才能加入用户和游戏。如

...WHERE game_users.id = 1 AND users.id=game_users.id

而且你没有一个名为game_users的表

© www.soinside.com 2019 - 2024. All rights reserved.