用where1=1连接多个条件
select
c.StartAreaID,
a1.level as startLevel,
a1.areaName as startName1,
a2.areaName as startName2,
a3.areaName as startName3,
a4.areaName as endName1,
a5.areaName as endName2,
a6.areaName as endName3,
date_format(c.PDATE,'%Y-%m-%d') as PDATE,
date_format(c.FreeDate,'%Y-%m-%d') as FreeDate,
v.typeName,
d.CarLen,
d.Name,
d.CellPhone,
d.Deposit,
d.CarNo
from t_carresources c left join t_driverowner d on c.UID= d.ID
left join vehicletype v on d.CarTypeID=v.typeId
left join area a1 on c.StartAreaID=a1.id
left join area a2 on a1.pid=a2.id
left join area a3 on a3.id=a2.pid
left join area a4 on c.EndAreaID1=a4.id
left join area a5 on c.EndAreaID2=a5.id
left join area a6 on c.EndAreaID3=a6.id
where 1=1
<if test='vehicleSelect != null and vehicleSelect != "" '>
and d.CarTypeID = #{vehicleSelect}
</if>
<if test='endSelect != null and endSelect != "" '>
and (a4.id= #{endSelect} or a5.id= #{endSelect} or a6.id= #{endSelect})
</if>