0

利用可能なホテルと、そのホテルで利用可能な部屋数を一定期間 (start_date と end_date.

テーブル test(id, date, qty, hotel_id) があります。数量 (例: qty>2) と 2 つの日付の間の日付 (例: テスト テーブルの日付フィールドには、'2013-05-06 より大きい日付値が必要です) に関するいくつかの条件を指定して、すべてのホテル ID にアクセスする必要があります。 ' および終了日が '2013-05-10' 未満)。

私はこのクエリを試しました:

select hotel_id
  from test
 where qty>2
   and date between '2013-05-06' and '2013-05-10';

ただし、別の条件は、指定された日付の間にすべての日付が存在する必要があるということです。つまり、日付フィールドにはすべての日付の値が必要です: '2013-05-06'、'2013-05-07'、'2013-05-08'、'2013-05-09'、'2013-05-10' . 上記の日付のいずれかが欠落している場合、空の結果セットが返されます。そして、qty>2(let) ですべての日付が利用可能な場合、hotel_ids のリストを返す必要があります。

単一の MySQL クエリでどのように実行できますか?

4

1 に答える 1