该查询返回is_message
=“上”行和mass_message
=“上”查询不能返回正确的行
SELECT *
FROM `messages`
WHERE
(`sender_id` = '111' AND `recipient_id` = '222')
OR (`sender_id` = '222' AND `recipient_id` = '111')
AND (`is_message` != 'on' OR `is_message` IS NULL)
AND (`mass_message` != 'on' OR `mass_message` IS NULL)
AND `invite_for_lunch` = 'on'
LIMIT 0 , 30
如何确保它只返回“上”
有invite_for_lunch
=行
这原本是一个计数,但我想看看哪些行正在返回。
我检查了列,没有两列(is_message
,mass_message
,invite_for_lunch
)在同一行有on
。
预期结果:应该返回5行
只有'invite_for_lunch ='on''你的其他支票呢?你在那里放了很多OR。 –
这看起来像它会做你想要的'AND invite_for_lunch ='on'',这是不是返回你期待的结果?你能发表一个你的源数据的例子,你期待什么,你究竟得到了什么? –
我修复了缩进,这可以使识别逻辑问题更容易。 –