union all 后少了括号,而且可以用分行符的=@"select dt_expec,sum(qt_argmet),sum(qt_necess_expec),sum(qt_invent)+sum(qt_argmet)-sum(qt_necess_expec) as total from 
(
select '00000000' as dt_expec,0 as qt_argmet,0 as qt_necess_expec,qt_invent from wwgbt322 where CD_FACT='XX'
union all ( select dt_store_expec as dt_expec,qt_argmet,0 as qt_necess_expec ,0 as qt_invent from wwgbt301 where CD_FACT='XX')
union all ( select dt_necess_expec as dt_expec,0 as qt_argmet, qt_necess_expec,0 as qt_invent from wwgbt302 where CD_FACT='XX')
order by dt_expec
)
group by dt_expec
order by dt_expec"