select FYear as '会计年度',Fperiod as '会计期间',FNumber AS '物料代码',
sum(FBegQty) as '期初结存数量',(case when sum(FBegQty)='0' then 0
when sum(FBegQty)<>'0' then (sum(FBegBal)/sum(FBegQty) )
else null end) as dj1,sum(FBegBal) as '期初余额',
sum(FReceive) as '本期收货数量',(case when sum(FReceive)='0' then 0
when sum(FReceive)<>'0' then (sum(FDebit)/sum(FReceive))
else null end)as dj2 ,sum(FDebit) as'本期收入金额',
sum(FSend)as '本期发出数量',(case when sum(FSend)='0' then 0
when sum(FSend)<>'0' then (sum(FCredit)/sum(FSend))
else null end) as dj3, sum(FCredit) as '本期发出金额',
sum(FEndQty) as '期末结存数量',sum(FEndBal) as '期末余额'
from icbal I inner join t_icitem t on I.FITEMID=T.FITEMID
where FYear='2014'and Fperiod='3'and (FNumber like '3.1001%' or FNumber like '3.9011%')
group by FYear ,Fperiod ,FNumber
以上是我的SQL语句,在不通过报表的情况下,如何通过SQL,把本期收入数量,收入金额,发出数量,发出金额,结存数量,结存金额进行汇总,显示在明细的最后一行,以下附图是现在的效果图

------解决方案--------------------
select
FYear as '会计年度',
Fperiod as '会计期间',
FNumber AS '物料代码',
sum(FBegQty) as '期初结存数量',(case when sum(FBegQty)='0' then 0
when sum(FBegQty)<>'0' then (sum(FBegBal)/sum(FBegQty) )
else null end) as dj1,sum(FBegBal) as '期初余额',
sum(FReceive) as '本期收货数量',(case when sum(FReceive)='0' then 0
when sum(FReceive)<>'0' then (sum(FDebit)/sum(FReceive))
else null end)as dj2 ,sum(FDebit) as'本期收入金额',
sum(FSend)as '本期发出数量',(case when sum(FSend)='0' then 0
when sum(FSend)<>'0' then (sum(FCredit)/sum(FSend))
else null end) as dj3, sum(FCredit) as '本期发出金额',
sum(FEndQty) as '期末结存数量',sum(FEndBal) as '期末余额'
from icbal I inner join t_icitem t on I.FITEMID=T.FITEMID
where FYear='2014'and Fperiod='3'and (FNumber like '3.1001%' or FNumber like '3.9011%')
group by FYear ,Fperiod ,FNumber
with rollup