我正在尝试创建一个查询,根据他们是否在预订表中预订,选择一个表中的所有汽车。目前我有这个很好用,直到我从预订日期减去一天和预订两个日期再加上一天。因为我使用等于它将显示在该日期范围内预订的汽车。
我如何改变这一点,如果我在预订表中有一辆车,其日期为22-jan-13,日期为25-jan-13,用户输入的日期为20-分别是jan-13和27-jan-13,车子不会出现在结果中。
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;
感谢。
答案 0 :(得分:0)
使用BETWEEN
运算符 - SELECT ... WHERE ... BETWEEN start_date AND end_date...