表的数据是这样子的:
商品名称 数量 税额 金额
顺酐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
*/