我目前正在尝试查询工作,并希望获得一些指导
SELECT *
FROM users
WHERE username = 'bob'
AND device_1 = 'test'
OR device_2 = 'test'
OR device_3 = 'test'
无论我是否指定了用户名,它似乎都会在其中显示带有单词test的任何行。
我很遗憾,这很可能是一件简单的事情,而且我正在寻找它。
答案 0 :(得分:3)
在WHERE
子句中添加一些括号,否则username
过滤器仅适用于device_1 = 'test'
:
SELECT *
FROM users
WHERE username = 'bob'
AND
(
device_1 = 'test'
OR device_2 = 'test'
OR device_3 = 'test'
)
答案 1 :(得分:2)
试试这个,
SELECT *
FROM users
WHERE username = 'bob' AND
'test' IN (device_1, device_2, device_3)
IN
对多个OR