0

仕事で自転車を借りるためのスクリプトを作成していますが、X 期間の自転車の空き状況を確認する方法がわかりません。

データベースは次のようになります。

CustomerID    BicycleID    FromDATE    TillDATE     
    43           12       2012-05-20  2012-05-23
    43           14       2012-05-20  2012-05-23
    44           12       2012-05-27  2012-05-30
    44           15       2012-05-27  2012-05-30

新しい契約や予約を行う前、または自転車が一定期間利用可能になる前に実行できるスクリプトはありますか?

これに関するヘルプは素晴らしいでしょう、ありがとう!

4

3 に答える 3

0

日付をTIMESTAMP ( UNIX ) 形式で保存できれば、 > < = 演算子を使用して、希望するレンタル期間とその自転車の空き状況を簡単に比較できると思います。

于 2012-05-20T14:47:22.537 に答える
0

2 つの日付範囲が重複しているかどうかを判断するを参照してください。

2 つの期間が重なるかどうかをテストするには、次を使用します。(StartDate1 <= EndDate2) and (StartDate2 <= EndDate1)

SELECT * FROM reservations WHERE ? <= TillDATE AND FromDATE <= ?

このクエリの最初のパラメーターは新しい予約の開始日で、2 番目のパラメーターは終了日です。

これにより、新しい予約と競合するすべての予約が返されます。

于 2012-05-20T14:42:17.427 に答える