我正在写一个简单的汽车租赁(学校任务)预订程序。我和我的好友正试图让这个系统比分配任务更先进一些,但我们遇到了一些问题,我们希望您能帮助我们。检查重叠的汽车保留
这个想法是,你可以保留一定的汽车类型,当你得到汽车时,它会是这种类型的汽车之一(你不会保留特定的汽车,因为我们的任务规定,但只有一种类型)。只有一位顾客可以在特定的日期安排车辆。由于我们必须确保保留的预订,我们不会租用每种类型的汽车,而不是我们所拥有的。预订基本上存储有开始日期,结束日期和汽车类型。
如果我们忽略了现在的汽车类型(可以说我们只有一种类型),则保留可以以图形看起来像这样:
1/12 2/12 3/12 4/12 5/12 6/12 7/12
|-------------------|
|-----------------|
|-----|
|-------|
|-----------|
|-------------|
如果租用只有三辆汽车也将有可能租一辆车从3/12到5/12,因为所有的日子只有2辆车预订。但我们怎么知道这一点?我们是否必须检查每个日期和计数()跨越该日期的预订数量?
如果有人有什么保留了上4/12,然后3/12 5/12和汽车仍然只有2所保留,但4/12将有3
是否有可能做用一个查询如何,还是我们不得不通过程序中的每个日期来检查保留的数量是否未超过汽车的数量? (这很简单,只有完整的日期,但考虑可以每小时租用汽车的情况(不仅在每天的这里),然后它可能是一个通过每个我们如果我们有很多预订和汽车,时间跨度很长......)
希望你有一些很好的想法,这将帮助我们一起。感谢您抽出宝贵的时间来阅读问题:)
- 的Mikkel,丹麦
的可能重复[确定是否两日期范围重叠](http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap) – 2010-11-27 20:46:09