当只有一条记录与WHERE子句匹配时,JOIN返回多个结果?

oaz*_*ziz 2 mysql sql join

SELECT images.filename, slugs.name FROM images, slugs
WHERE images.status = 1 AND slugs.name = 'test'
Run Code Online (Sandbox Code Playgroud)

但是,我只有1条记录在哪里slugs.name = 'test'是真的!

到底是怎么回事?

Dam*_*ver 7

其他人指出你有什么不对(你正在获得笛卡尔联盟),但不是如何解决它.我们需要知道行中images的行如何与行相关slugs.例如,如果BingoID两个中都有一个列匹配,那么应该匹配,那么类似于:

SELECT images.filename, slugs.name FROM images, slugs
WHERE images.status = 1 AND slugs.name = 'test' AND images.BingoID = slugs.BingoID
Run Code Online (Sandbox Code Playgroud)

要么,

SELECT images.filename, slugs.name
FROM images inner join slugs
   ON images.BingoID = slugs.BingoID
WHERE images.status = 1 AND slugs.name = 'test'
Run Code Online (Sandbox Code Playgroud)