不与或运算符mysql一起使用

esbemjvw  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(341)

我要选择行中发件人不等于任何列表元素的行,如果不等于,则检查收件人是否不等于任何列表元素。使用not-in()having或类似运算符:

SELECT * FROM messages WHERE ((sender NOT IN ( 'user1','3' )) OR (recipient NOT IN ( 'user1','3' )))

问题:
这不是像以前那样过滤数据并给出结果!
尽管这确实有效:

SELECT * FROM messages WHERE (recipient NOT IN ( 'user1','3' ))

应该改变什么?

txu3uszq

txu3uszq1#

你需要吗

where
   NOT (   sender IN ( 'user1','3' )
        OR recipient IN ( 'user1','3' )
       )

所以在这里, Package 或条件是。。。发件人是列表中的一个或收件人是列表中的一个。外面的扔不出去。

fhg3lkii

fhg3lkii2#

对于未来的读者,以上评论给了我一个如何使用或不使用的想法,如下所示:

SELECT * FROM messages WHERE (sender OR recipient NOT IN ( 'user1','3' ))

相关问题