gpt4 book ai didi

php - 选择两个日期之间的可用房间

转载 作者:行者123 更新时间:2023-11-29 04:30:14 25 4
gpt4 key购买 nike

alt text

我有上面的 mysql 表,其中包含可用日期和价格。第二张表包括房间详细信息。我如何连接两个表以获得两个日期之间的可用房间而不是重复的内容。

最佳答案

这里很难为您提供完整的答案,因为您只向我们展示了包含预订的表格 - 我们无法知道可用房间的范围。

返回至少在选定时间段内预订的房间的 room_id 的 SQL 可能是:

SELECT `room_id` , COUNT(*)
FROM `bookings`
WHERE `dt` BETWEEN "[start date]" AND "[end date]"
GROUP BY `room_id`;

如果您有一个房间表(而不是预订),您可以通过以下方式返回在此期间未预订的任何房间的列表:

SELECT `id`
FROM `rooms`
WHERE `id` NOT IN (
SELECT DISTINCT( `room_id` )
FROM `bookings`
WHERE `dt` BETWEEN "[start date]" AND "[end date]"
);

修正案

根据 OP 的反馈,现在的假设是:

  • 该表包含从 dt 列中的日期开始到第二天结束的一段时间内可用的房间的详细信息(即酒店房间)
  • 查询应返回在输入的整个期间内可用的所有房间(因此只会返回从 DAY A 到 DAY B 可用的房间。

因此,修改后的代码是:

SELECT room_id
FROM available_rooms
WHERE dt BETWEEN "[start date]" AND DATE_SUB("[end date]",INTERVAL 1 DAY)
GROUP BY room_id
HAVING COUNT(*)=ABS(DATEDIFF("[start date]","[end date]"));

关于php - 选择两个日期之间的可用房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com