, sevbr.min_book_start_date as to_return_must_before_date
, sevbr.min_book_start_date as to_return_must_before_date
from
from
<!--
<!--
查询【结束】时间 前面的最后一条 预约记录
查询【开始】时间 后面的第一条 预约记录
查询【开始】时间 后面的第一条 预约记录
查询【结束】时间 前面的最后一条 预约记录
添加比较actual_start_date 和 actual_end_date-->
添加比较actual_start_date 和 actual_end_date-->
<!-- sevbr表:车辆联表预约记录,统计获得预约开始时间前最大预约记录时间、、预约结束时间后最小预约记录时间,过滤掉status != 4 and status != 6,和 -->
<!-- sevbr表:车辆联表预约记录,统计获得预约开始时间前最大预约记录时间、、预约结束时间后最小预约记录时间,过滤掉status != 4 and status != 6,和 -->
(select vehicle_id
(select vehicle_id
, max(if(IFNULL(actual_end_date, book_end_date) < #{endDateExtend}, IFNULL(actual_end_date,book_end_date), null)) as max_book_end_date
, max(if(IFNULL(actual_end_date, book_end_date) < #{startDateExtend}, IFNULL(actual_end_date,book_end_date), null)) as max_book_end_date
, min(if(IFNULL(actual_start_date, book_start_date) > #{startDateExtend}, IFNULL(actual_start_date, book_start_date), null)) as min_book_start_date
, min(if(IFNULL(actual_start_date, book_start_date) > #{endDateExtend}, IFNULL(actual_start_date, book_start_date), null)) as min_book_start_date
from vehicle_book_record where status != 4 and status != 6 group by vehicle_id) sevbr
from vehicle_book_record where status != 4 and status != 6 group by vehicle_id) sevbr
left join vehicle_book_record vbre
left join vehicle_book_record vbre
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = IFNULL(vbre.actual_end_date, vbre.book_end_date) and vbre.status != 4 and vbre.status != 6
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = IFNULL(vbre.actual_end_date, vbre.book_end_date) and vbre.status != 4 and vbre.status != 6