with d as(
select vd.vehicle_id, dd.emp_code, driver_name, dic.dic_name,e.pre_maint_miles
from tm_vms_driver dd
join ts_vms_dictionary dic on dd.emp_type = dic.dic_id
join tm_vms_vehicle_driver vd on vd.driver_id = dd.driver_id
join (select * from (select a.pre_maint_miles,
a.vehicle_id,
a.vehicle_code,
row_number() over(partition by vehicle_code order by pre_maint_miles desc) rn
from TS_VMS_MAINT_TO_ECP a) b
where b.rn = 1) e on vd.vehicle_id = e.vehicle_id
where dd.manager_flg = 1
and dd.valid = 1
and dic.dic_type = 101
order by vd.created_tm desc
) select d.pre_maint_miles,v.vehicle_id,
v.vehicle_code,
v.brand_model || v.wheelbase brand_model,
v.used_kind,
v.use_kind_name,
v.buy_dt,
v.current_miles,
v.ORIGINAL_VALUE,
nvl(v.total_miles,0)+(nvl(v.current_miles,0)-nvl(v.base_miles,0)) total_miles,
nvl(d.emp_code,'') emp_code,
nvl(d.driver_name,'') driver_name,
nvl(d.dic_name,'') emp_duty_name
from tm_vms_vehicle v
left join d on d.vehicle_id=v.vehicle_id
where v.usage = 1
and v.used_kind in (8, 9, 10, 11)
and v.vehicle_state in (1,3)
and v.dept_id in(
select t.dept_id from tm_department t
where t.delete_flg=0
connect by prior t.dept_code = t.parent_dept_code
start with dept_id=49)
order by used_kind;
这个脚本通过关联5个表,查出了存在于tm_vms_vehicle 表中的车辆数据,并且取每辆车在TS_VMS_MAINT_TO_ECP 表中的里程字段[pre_maint_miles]为最大值的那条记录。