SELECT PRE.VIN 车架号 ,PRE.DEL 目的地 ,case when sum(case when CHARGE.CHARGE_NAME2 = '运费' then nvl(charge.b_has,0) else 0 end)>0 then 'DM' else to_char(sum(case when CHARGE.CHARGE_NAME2 = '运费' then charge.ar_amount else 0 end)) end 运费 ,PRE.VIN 车架号 ,PRE.DEL 目的地 ,case when sum(case when CHARGE.CHARGE_NAME2 = '运费' then nvl(charge.b_has,0) else 0 end)>0 then 'DM' else to_char(sum(case when CHARGE.CHARGE_NAME2 = '运费' then charge.ar_amount else 0 end)) end 运费 FROM ACC_CHARGE CHARGE,IFM_PRE_LIST PRE WHERE CHARGE.CHARGE_ID = PRE.CHARGE_ID(+) AND CHARGE.INVOICE_ID = '178565' GROUP BY PRE.VIN ,PRE.DEL ,PRE.VIN ,PRE.DEL