我有一張存放一堆書的桌子。客戶可以在一天中的任何時間預約。我想確保預訂不存在,這將與新預訂相沖突。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