我有一张名为行程的表格,您可以使用指定的departure_date
和return_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'))
答案 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