Mysql查询:识别特定日期的可用车辆

时间:2012-11-30 19:00:11

标签: mysql database date between

我有一张名为行程的表格,您可以使用指定的departure_datereturn_date保存行程。车辆保存在车辆表中。我需要查询所有可用于特定日期的车辆,以便如果选择特定行程的车辆,则不能再次用于其他行程,直到它返回为止。
 我的表结构是这样的

表:旅行

id
vehicle_id
departure_date
return_date

表:车辆

id  
plate_no

我尝试使用以下命令进行查询,但它似乎不起作用:

select v.id from vehicles as v
where v.id not in
    (select vehicle_id from trips
     where (departure_date between '2012-10-31 10:41:30' AND '2012-11-06 10:41:38'))

1 个答案:

答案 0 :(得分:1)

试试这个::

select 
v.id 
from 
vehicles as v 
left join trips t on (v.id=t.vehicle_id)
where 
t.departure_date between '2012-10-31 10:41:30' AND '2012-11-06 10:41:38' 
and t.id is null