繁体   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