簡體   English   中英

預訂查詢不考慮到達和離開的日期

[英]Booking query does not consider arrival and departure day

我一直在尋找這個難題的答案,但一無所獲。 我希望您能幫助找出我做錯了什么。

我有一個mysql查詢,它僅選擇可用的如下方法:

SELECT * 
FROM apartments 
WHERE apartment_ID NOT IN (SELECT apartment_ID 
                           FROM bookings 
                           WHERE startDate <= '$endingdate' 
                             AND endDate >= '$startingdate')    

問題在於此查詢未考慮出發日期為半天並且可用。

為了更好地解釋:

如果表“ booking”的預訂在2011年1月16日結束,而搜索是從16年1月16日開始。 該公寓應該可用,因為那是“半天”(出發當天)。 查詢似乎不考慮這一點,並且不顯示公寓。

請你能幫忙嗎?

弗朗切斯科

我不太熟悉MySQL數據類型,但是您確定startDate和endDate也不會與時間部分一起存儲。 如果真是這樣,那么“ 16-01-2011 16:25”將不會小於或等於“ 16-01-2011”。

從子查詢中刪除=符號;如果在該日期始終有空缺,則至少刪除最后一個。 那應該檢查在要求的日期被騰空的公寓。 另外,請確保您的數據已轉義。

如果可用性取決於時間,那么您將需要將日期字段更改為日期時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM