当前位置: 代码迷 >> Sql Server >> 求集锦数量,汇总金额
  详细解决方案

求集锦数量,汇总金额

热度:87   发布时间:2016-04-24 10:13:02.0
求汇总数量,汇总金额
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
  相关解决方案