select b.项目,sum(b.本月金额),sum(b.本月数量),sum(b.上月金额),sum(b.上月数量),sum(b.本年金额),sum(b.本年数量)
(select 项目,sum(金额) as 本月金额,sum(数量) as 本月数量,0 as 上月金额,0 as 上月数量,0 as 全年金额,0 as 全年数量
from 表 where datediff(money,日期,getdate()) = 0
union all
select 项目,0,0,sum(金额),sum(数量),0,0
from 表 where datediff(money,日期,getdate()) = 1
union all
select 项目,0,0,0,0,sum(金额),sum(数量)
from 表 where datediff(year,日期,getdate()) = 0 )
as b
group by b.项目