我正在设计一个网站来自学如何在 mysql 中使用表连接,但很早就卡住了。 (数字是 Wii 好友代码,如果这有助于您理解这一点!)
我有 3 个表:
用户:
id, firstname, surname
游戏:
id, title
数字:
number, users_id, game_id
号码是属于用户并与游戏相关联的唯一代码。
我正在尝试获取特定游戏的数字列表及其所属用户的姓名。
我正在运行查询:
SELECT firstname, surname, number FROM games, users, numbers WHERE numbers.game_id = games.id AND games.title = 'foogame'
例如,取出属于foogame的所有数字。但是,这会返回任何没有此游戏代码的用户以及来自其他用户的随机代码。如何使此查询仅返回实际拥有该游戏代码的用户?
最佳答案
我发现如果您实际使用连接会更容易,因为您不会像第一次那样错过连接条件。
SELECT firstname, surname, number FROM users u INNER JOIN numbers n on n.users_id = u.id INNER JOIN games g on n.game_id = g.id WHERE g.title = 'foogame'
INNER JOIN 等同于您所做的 - 它有明确的限制。
关于mysql - 简单的Mysql表连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562917/