2016-04-29 16 views
0

利用可能な日数を探します私が利用可能なすべての車を見つけようとしている日付。この場合、2016-05-03と2016-05-05の間に利用可能なすべての車を探したいと思います。私はNOT BETWEENと言っている車か、まだ注文されていない車(orders.car_id IS NULL)をチェックします。は、私は2つのテーブル(1オーダーと2台)を持っている

SELECT destination, COUNT(destination) AS 'available cars' 
FROM cars 
LEFT JOIN orders ON cars.id = orders.car_id 

WHERE (orders.car_id IS NULL 

OR (

    date_to NOT BETWEEN '2016-05-03' AND '2016-05-05' 
    AND date_from NOT BETWEEN '2016-05-03' AND '2016-05-05' 

) 

) 

AND destination = 'Kristiansand' GROUP BY destination 

問題にid = 8とアウディA1である:ここではクエリです。ご覧のとおり、2016-05-03から2016-05-05までの1つ、2016-04-29から2016-04-30までの2つの予定に登録されています。

4月末の2番目の日付のペアはクエリの指定された日付であるNOT BETWEENであるため、A1は利用可能な車であり、これは真ではありません。

私はクリスチャンサンで指定された の日付の外にレンタル可能なすべての車をフェッチしようとしています。

+0

あなたの質問は何ですか?実際に何を達成しようとしていますか?私には少し不明です。 –

+0

@ConsiderMe私はクリスチャンサンでは、指定された日付の外にレンタル可能なすべての車を取得しようとしています。 – robert

+0

テーブルはどこから '宛先'フィールドですか? –

答えて