我有兩個表(1令和2輛):查找可用日期
汽車
訂單
我試圖找到所有可用的汽車n日期。在這種情況下,我想在2016-05-03和2016-05-05之間找到所有可用的汽車。我檢查表示日期爲NOT BETWEEN
的汽車或尚未在訂單中註冊的汽車(orders.car_id IS NULL
)。下面是查詢:
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
的問題是與奧迪A1使用id = 8。您可以看到,它已在兩次約會中註冊,一次是從2016-05-03
到2016-05-05
,另一次是從2016-04-29
到2016-04-30
。
由於查詢中給定的日期是4月底的第二對日期是NOT BETWEEN
,所以A1是遠離真實的可用車。
我正嘗試在克里斯蒂安桑的指定 日期之外取出所有可用於出租的汽車。
你的問題是什麼?你究竟在努力實現什麼?我有點不清楚。 –
@ConsiderMe我試圖在克里斯蒂安桑的指定日期之外取出所有可租賃的汽車。 – robert
哪個表是'destination'字段? –