我正在寫一個簡單的汽車租賃(學校任務)預訂程序。我和我的好友正試圖讓這個系統比分配任務更先進一些,但我們遇到了一些問題,我們希望您能幫助我們。檢查重疊的汽車保留
這個想法是,你可以保留一定的汽車類型,當你得到汽車時,它會是這種類型的汽車之一(你不會保留特定的汽車,因爲我們的任務規定,但只有一種類型)。只有一位顧客可以在特定的日期安排車輛。由於我們必須確保保留的預訂,我們不會租用每種類型的汽車,而不是我們所擁有的。預訂基本上存儲有開始日期,結束日期和汽車類型。
如果我們忽略了現在的汽車類型(可以說我們只有一種類型),則保留可以以圖形看起來像這樣:
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