日期:2014-05-19  浏览次数:20390 次

数据表中显示统计信息
表的数据是这样子的:
商品名称           数量             税额         金额    
  顺酐1                   100             11.0         11.0
  顺酐1                     50             11.0         11.0
  顺酐2                 20                 11.0           11.0
  顺酐2                 50                 22.0           22.0


现在想显示成这样子的:
商品名称           数量             税额         金额    
  顺酐1                   100             11.0         11.0
  顺酐1                     50             11.0         11.0
                  总计:150             22.0         22.0
  顺酐2                 20                 11.0           11.0
  顺酐2                 50                 22.0           22.0
                  总计:70                 33.0           33.0


这该如何实现呢?大家帮忙


------解决方案--------------------
select * from 表
union all
select 商品名称+ '总计: ',sum(数量),sum(税额),sum(金额)
from 表
group by 商品名称
order by 商品名称
------解决方案--------------------
declare @t table(商品名称 varchar(10),数量 int,税额 numeric(10,1),金额 numeric(10,1))
insert @t select '顺酐1 ',100,11.0,11.0
union all select '顺酐1 ',50, 11.0,11.0
union all select '顺酐2 ',20 ,11.0,11.0
union all select '顺酐2 ',50 ,22.0,22.0
select * from @t
select * from @t
union all
select 商品名称+ '总计 ',sum(数量),sum(税额),sum(金额)
from @t group by 商品名称+ '总计 '
order by 商品名称
/*
(所影响的行数为 4 行)

商品名称 数量 税额 金额
-------------- ----------- ------------ ------------
顺酐1 100 11.0 11.0
顺酐1 50 11.0 11.0
顺酐1总计 150 22.0 22.0
顺酐2 20 11.0 11.0
顺酐2 50 22.0 22.0
顺酐2总计 70 33.0 33.0
*/