我有几个选项,用户可以拥有,主要是为了验证他在网站上的存在。
表格是这样的:
用户:
id=1
username=stackoverflow
password=oSKAJMMS;
address=xyz
...
选项:
user_id=1
option=AD3
user_id=1
option=AC1
在某些时候,我需要检查他是否在“options”表中有一个特定选项(如:AD3,AC1等),并指出“options”表中不存在没有选项的用户。
最佳做法是什么?我虽然关于JOIN但是每次我读到stackoverflow时都会发现更简单,更有效的方法,所以我问你该怎么做!
答案 0 :(得分:2)
SELECT *
FROM users u
WHERE EXISTS (
SELECT 1
FROM options o
WHERE o.user_id = u.id
AND o.option = 'AC1'
)
确保您在options (user_id, option)