--下面举个个例子,说明数据存储与统计--设计存储数据的表 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
--实现楼主效果的数据统计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
1:费用公式表: 费用ID,费用名称,公式
2:金额表: 费用ID,金额
1:费用公式表: 费用ID,费用名称,公式,是否统计字段...
2:金额表: 费用ID,金额
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
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
-->>想听听!!
===弯弯的月亮小小的船,小小的船,两头尖,我在小小的船里坐,只看见闪闪
的星星蓝蓝的天.
===本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利