如果行存在于其他表中,则MySQL值为0或1

时间:2014-04-24 17:29:54

标签: mysql sql return row exists

搜索了StackOverflow一段时间了,我找不到可以使用的答案,所以这是我的问题:

我有一个名为“uploads”的表格,我在其中存储有关网站上所有上传图像的信息。

然后我有另一张叫做“画廊”的桌子。如果“gallery”(col文件)中存在“uploads”(col id)中的条目,则上传的文件将解锁到库中,如果“uploads”中的条目不在“gallery”中,则它将被锁定。

如果我使用普通的JOIN,则“上传”中不在“图库”表中的所有条目都将丢失。

我想要类似的东西:

SELECT [some other properties], (IF entry exists in gallery then 1 else 0) AS unlocked FROM ... WHERE ...

1 个答案:

答案 0 :(得分:6)

使用left join

SELECT (g.file is not null) as unlocked
FROM uploads u
left join gallery g on g.file = u.id