現在、クエリを機能させようとしていますが、少しガイダンスが必要です
SELECT *
FROM users
WHERE username = 'bob'
AND device_1 = 'test'
OR device_2 = 'test'
OR device_3 = 'test'
ユーザー名を指定しているかどうかに関係なく、testという単語が含まれている行が表示されているようです。
私はこれにかなり迷っています、おそらくそれは単純なものであり、私はそれをまっすぐ見ています。
WHERE句にいくつかの括弧を追加します。そうでない場合、usernameフィルターは以下にのみ適用されdevice_1 = 'test'ます。
SELECT *
FROM users
WHERE username = 'bob'
AND
(
device_1 = 'test'
OR device_2 = 'test'
OR device_3 = 'test'
)
これを試して、
SELECT *
FROM users
WHERE username = 'bob' AND
'test' IN (device_1, device_2, device_3)
IN複数で同じように動作しますOR