SQL select *基于另一个表中的两个日期

SQL select * based on two dates in another table

本问题已经有最佳答案,请猛点这里访问。

0

我试图创建一个查询,根据预订表中是否有预订,选择一个表中的所有汽车。现在我有一个很好的方法,直到我把预订日期减一天,预订两天加一天。因为我使用的是等号,它将显示在该日期范围内预订的汽车。

如果我在预订表中有一辆车的起始日期是2013年1月22日,截止日期是2013年1月25日,用户输入的起始日期是2013年1月20日,截止日期是2013年1月27日,我将如何更改此设置,这样,该车将不会显示在结果中。

1
2
3
4
5
6
7
8
9
10
SELECT   *
FROM vehicles, car_model, manufacture
WHERE NOT EXISTS (SELECT *
                  FROM booking
                  WHERE vehicles.reg_number = booking.reg_number
                  AND booking.date_from = '22-JAN-13'
                  AND booking.date_to = '23-JAN-13'
                  AND booking.booking_status = 1)
AND vehicles.model_code = car_model.model_code
AND car_model.manufacture_code = manufacture.manufacture_code;

谢谢。


使用BETWEEN运算符-SELECT ... WHERE ... BETWEEN start_date AND end_date...