这种表结构设计得有点... 
是EXCEL吧?  对SQL来说太难了。

解决方案 »

  1.   

    建议:
    1:费用公式表:  费用ID,费用名称,公式
    2:金额表:   费用ID,金额
      

  2.   

    也可以:
    1:费用公式表:  费用ID,费用名称,公式,是否统计字段...
    2:金额表:   费用ID,金额
      

  3.   

    --下面举个个例子,说明数据存储与统计--设计存储数据的表
    declare @费用类别 table(id int identity(1,1),费用名称 varchar(10),类别 int)
    declare @费用表 table(id int,金额 decimal(20,2))--添加测试数据
    insert into @费用类别
    select '工资',1
    union all select '奖金',1
    union all select '午餐补贴',2insert into @费用表
    select 1,1500
    union all select 2,300
    union all select 3,120
      

  4.   

    --实现楼主效果的数据统计select 费用名称,金额
    from(
    select a.类别
    ,费用名称=case when grouping(a.类别)=1 then '-总计'
    when grouping(a.费用名称)=1 then '-小计-'
    else a.费用名称 end
    ,金额=sum(b.金额)
    from @费用类别 a join @费用表 b on a.id=b.id
    group by a.类别,a.费用名称 with rollup
    ) a
      

  5.   

    楼主不懂 报表 和 数据 的区别
    -->>想听听!!
    ===弯弯的月亮小小的船,小小的船,两头尖,我在小小的船里坐,只看见闪闪
    的星星蓝蓝的天.
    ===本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利