チェックイン日とチェックアウト日が指定した日付の範囲内にある客室料金を選択する必要があります。これらの料金は、条件に応じて個別に名前が付けられています。客室料金は、選択した日付によって異なります。これが私のコードです:
rate_eb
rate_name rate_starts rate_ends rate_discount rate_min_stay
---------------------------------------------------------------------------
Low Season 2013-05-01 2013-10-31 20 3
High Season1 2013-11-01 2013-12-19 20 4
High Season2 2013-02-21 2013-04-31 20 4
Peak Season 2013-12-20 2014-02-20 20 5
条件は次のとおりです。
- 予約はrate_startsとrate_endsの間にある必要があります。
- 合計宿泊日数はrate_min_stay以上である必要があります。
- rate_discountは、別のテーブルのマスター レートからの割引率です。マスター レートが 100 の場合、この予約には 80 のレートが適用されます。
ここで、特に rate_discount について、日付範囲を指定して rate_db からこれらのデータを取得したいと考えています。これが私のmySQLです:
select rate_discount
from rate_eb
where rate_min_stay<='4'
and reb_starts>='2013-06-19'
and reb_ends<='2013-06-23'
上記のコードから。ローシーズンのrate_discount=20 を期待していますが、4 以下のレートがすべて選択されています。
それでは、解決策を教えてください。rate_starts と rate_ends の間の rate_discount にアクセスするようにコードを書き直す方法。