【发布时间】:2013-04-29 21:19:05
【问题描述】:
我有一个与 sql 相关的问题。我需要为下面描述的表编写一个复杂的查询
id date quantity roomtypeid hotelid
用户将使用入住和退房日期搜索酒店,并使用搜索查询指定房间数量(数量),所以我需要做的是从上表中获取酒店 ID,其中包含入住时可用的最少房间数量退房日期。
1 04-01-2013 3 4 10
2 04-02-2013 3 4 10
3 04-03-2013 3 4 10
4 04-04-2013 3 4 10
5 04-01-2013 3 4 11
6 04-02-2013 3 4 11
7 04-03-2013 3 4 11
8 04-04-2013 3 4 11
9 04-01-2013 3 4 12
10 04-02-2013 3 4 12
如果用户想要从 04-01-2013 到 04-03-2013 预订 3 间客房,则生成的查询应该只提供 10,11 作为酒店 ID。
问候 子目录
【问题讨论】:
-
这个问题不是很清楚。您能否详细说明或提供更多细节。
-
那么有什么尝试?所以你的努力。
-
房间数量需要匹配,并且开始和结束日期之间的所有日期都必须出现在日期列中,例如如果我从第 2 天到第 4 天预订,那么房间必须为 2,3 ,4 个日期
-
可能有三个房间可用 - 但没有证据表明从一天到下一天,三个房间都可用。每天都得搬房间让我发疯!但是,除此之外,另一种概念化您的问题的方法是查找然后排除在这些日期之间房间数量少于所需数量的任何酒店。包含所有相关日期的日历表可能对此有用。
-
我的意思是,只有在该日期内指定房间数量最少的酒店才能被选中