select * from TSP_CHARGE_NAMELIST nl
left join tsp_sub_order o on (nvl2(nl.subId, o.projectId = nl.projectId and o.subId = nl.subId, o.projectId = nl.projectId))
left join tsp_sub_order o on (nvl2(nl.subId, o.projectId = nl.projectId and o.subId = nl.subId, o.projectId = nl.projectId))
select *
from TSP_CHARGE_NAMELIST nl
left join tsp_sub_order o on ((nl.subId is null or nl.subId = o.subId) and
o.projectId = nl.projectId)
改成这样行不行