简单的Mysql表连接问题

Ric*_*haw 1 mysql join

我正在设计一个网站,教我自己如何在mysql中使用表连接,并且很早就被卡住了.(这些数字是Wii朋友代码,如果这有助于你理解这一点!)

我有3张桌子:

用户:

id, firstname, surname
Run Code Online (Sandbox Code Playgroud)

游戏:

id, title
Run Code Online (Sandbox Code Playgroud)

数字:

number, users_id, game_id
Run Code Online (Sandbox Code Playgroud)

该号码是属于用户并与游戏相关联的唯一代码.

我试图找出特定游戏的数字列表以及他们所属的用户的名字.

我正在运行查询:

SELECT firstname, surname, number FROM games, users, numbers WHERE numbers.game_id = games.id AND games.title = 'foogame'
Run Code Online (Sandbox Code Playgroud)

例如,拿出属于foogame的所有数字.但是,这会返回任何没有此游戏代码的用户使用来自其他用户的随机代码.如何使此查询仅返回实际拥有该游戏代码的用户?

Tom*_*ter 9

如果您实际使用连接,我会发现它更容易,因为您不会像第一次那样错过连接条件.

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'
Run Code Online (Sandbox Code Playgroud)

INNER JOIN相当于你所做的 - 它具体限制.