Multiple And with or not working in mysql



我有一个表"merchant_slots"我想检查一下是否"user"同一天(1=星期一,2=星期二……)等等)和"相同的槽"存在与否,查询是工作,但有问题"这样;"OR"操作符,每当我尝试使用不同的&;day&;列(2)然后显示结果,

id      day     merchantId                  start_time          end_time                
1       1           14955                   12:00               15:00
2       1           14955                   10:00               11:00
3       1           14955                   08:00               09:00

我尝试以下代码,但不工作,我错了吗?

SELECT * 
FROM  merchant_slots 
WHERE merchantId='14955'
AND day='2'
AND merchant_slots.start_time BETWEEN '10:00' AND '14:00'
OR merchant_slots.end_time BETWEEN '10:00' AND '14:00'

可以添加括号来表示与或条件的优先级:

SELECT * 
FROM  merchant_slots 
WHERE merchantId='14955'
AND day='2'
AND (merchant_slots.start_time BETWEEN '10:00' AND '14:00'
OR merchant_slots.end_time BETWEEN '10:00' AND '14:00')

最新更新