我有一张存放一堆书的桌子。客户可以在一天中的任何时间预约。我想确保预订不存在,这将与新预订相冲突。Mysql查询以查看预订是否与另一个预订冲突。
所以我想找到那天的预订,并检查开始和结束时间不重叠。我试图用子选择查询来获取那天的预订,然后看看那些时间是否重叠,但它似乎没有工作。
这是我正在使用的查询。 (状态和活动是我需要的一些其他领域)。我找到相关的日期,然后看看早上8点是在这些结果之间的个人开始/结束时间还是早上9点40分也在开始/结束时间之间。
SELECT event_date, starttime, endtime, status, active
FROM (SELECT event_date, starttime, endtime, status, active FROM bookings WHERE event_date='2013-07-21' AND status != 'cancelled' AND active !=0 LIMIT 1) AS q1
WHERE ('8:00:00' BETWEEN q1.starttime AND q1.endtime) AND ('9:40:00' BETWEEN q1.starttime AND q1.endtime)
这是一个最好的方法使用?由于
得到了一个确切的问题和答案,我正在寻找(y)。 – NullPointer