簡體   English   中英

mysql酒店房間供應情況

[英]mysql hotel room availability

我有一個可用表ind Mysql如下:

id
room_id int(11)
avail_date date

對於每個房間,每個日期都有一行。 可能存在間隙,例如房間1可能具有8月1,2,3,5,6,13,14,15的條目,每隔一天它就不可用。

我需要一個查詢來查找room_ids列表,其中日期范圍內的每一天都有可用性。

換句話說,獲取room_id列表,其中startdate和enddate之間的每個日期的每個房間都有一個條目。

你想要這樣的東西:

select room_id
from availability a
where avail_date between $start and $end
group by room_id
having count(*) = datediff($end, $start) + 1;

having子句計算該期間的行數,以查看它是否與您需要的天數相匹配。 這是“包容性”邏輯,所以如果$start = $end ,那么它假設您需要該日期的房間。

暫無
暫無

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

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