【发布时间】:2012-08-04 08:12:41
【问题描述】:
Hotel_id Room_id Room_type 开始日期 结束日期 价格
-------------------------------------------------- --------------
13 2 标准 2012-08-01 2012-08-15 7000
13 2 标准 2012-08-16 2012-08-31 7500
13 2 标准 2012-09-01 2012-09-30 6000
13 3 豪华 2012-08-01 2012-08-15 9000
13 3 豪华 2012-08-16 2012-08-31 10000
13 3 豪华 2012-09-01 2012-09-30 9500
您好,这是我的表格的结构和数据。
我需要为酒店预订创建一个 mysql 查询,该查询将匹配数据库用户输入的数据:
- 他们想要入住和退房的日期
- 房型
例如:
如果用户根据这些日期(2012-08-30 至 2012-09-04)选择带豪华客房的酒店 8 月 30 日和 31 日的总费用为 (10000*2) + 9 月 1 日、2 日和 3 日的总费用为 (9500*3)(不包括第 4 个结帐日) 也就是说总价是20000+28500=48500
因此查询应根据 Hotel_id、Room_id、Start_date、End_date 和 Price 过滤总价
谢谢
【问题讨论】:
-
欢迎来到 Stack Overflow。你有什么问题?
-
对不起,但这个问题不是与给定的完全相同:在那个问题中,表格包含每个日期的条目,而在这个问题中是记录仅适用于每个日期范围。我正在投票支持重新提出这个问题。
-
SELECT a.price ,DATEDIFF('2012-09-01','2012-08-29') AS countdays FROM hotel a WHERE a.room_id=3 AND '2012-09-01'在 start_date 和 end_date 之间我已经尝试过了,但没有工作。
-
抱歉,重复问题只包含一个日期字段,我的故事有开始日期和结束日期。请重新打开这个问题
-
投票也重新提出问题。