2011-09-16 20 views
1

バックエンドを今行っていて、日付範囲で部屋の数のリストを作成しようとしています。入力された日付範囲に存在しない場合は、最も近い日付を取得

HTMLで

id room_type_id room_count date_applied 
1 1   2   2011-09-01 
1 1   3   2011-09-05 
1 1   1   2011-09-06 

DB構造:2011年9月 - 01 へ:2011年9月 - 06ユーザーから を入力

場合。 これが表示されます。

Date   Room Count 
2011-Sept-1 2 
2011-Sept-2 2 
2011-Sept-3 2 
2011-Sept-4 2 
2011-Sept-5 3 
2011-Sept-6 1 

(これは既にOKです)そして、私の問題は今、ユーザーから入力されたときに、ということであるとするためには、データベースに格納されたデータの範囲の外に既にあります。サンプル:From:2011-09-07 To:2011-09-09

出力はHTML形式で表示されるはずです。

Date   Room Count 
2011-Sept-7 1 
2011-Sept-8 1 
2011-Sept-9 1 

データベースに最も近い/最後のデータを取得します。このサンプルでは、​​2011-09-06

ありがとうございました。

+0

より低い日付との関連でより近い日付のみを検索する必要がありますか?また、上の日付のために? –

+0

最も近い日付のみを探します。 – Harold

答えて

0

このため、最も低い日付を見つけるサブクエリを実行する必要がありますか?その日付から終了日までを開始します。例えば、

SELECT * FROM tbl WHERE date BETWEEN (SELECT date FROM tbl WHERE date < lower_range LIMIT 1) AND upper_range 
+0

ありがとう、これは役に立ちます! – Harold

関連する問題