刚才问过的统计问题,怎么加上行和列的合计?

hzh_wen_x 2006-05-15 09:59:17
一个数表表如图
销售员 产品类型 产品类别 产品 数量
A AA AAA AAAA 3
A AA BBB BBBB 4
B AA CCC CCCC 2
B BB XXX XXXX 5
C CC JJJ LLLL 7

统计为:
产品类型 产品类别 产品 销售员A 销售员B .......合计
AA AAA AAAA 3 0 ..
AA BBB BBBB 4 0 ..
AA CCC CCCC 0 2 ..
BB XXX XXXX 0 5 ..
合计 .. .. ..
............

--表
create table 销售表(销售员 varchar(10),产品类型 varchar(10),产品类别 varchar(10),产品 varchar(10),数量 int)
insert 销售表 select 'A','AA','AAA','AAAA',3
insert 销售表 select 'A','AA','BBB','BBBB',4
insert 销售表 select 'B','AA','CCC','CCCC',2
insert 销售表 select 'B','BB','XXX','XXXX',5
insert 销售表 select 'C','CC','JJJ','LLLL',7

--语句

declare @s varchar(1000)
select @s='select 产品类型,产品类别,产品'
select @s=@s+',[销售员'+销售员+']=isnull(sum(case 销售员 when '''+销售员+''' then 数量 end),0)' from 销售表 group by 销售员
print @s
exec(@s+' from 销售表 group by 产品类型,产品类别,产品')
...全文
211 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
itblog 2006-05-15
  • 打赏
  • 举报
回复
老大厉害,学习~
zjcxc 元老 2006-05-15
  • 打赏
  • 举报
回复
结果:

产品类型 产品类别 产品 销售员A 销售员B 销售员C 合计
---------- ---------- ---------- ----------- ----------- ----------- -----------
AA AAA AAAA 3 0 0 3
AA BBB BBBB 4 0 0 4
AA CCC CCCC 0 2 0 2
BB XXX XXXX 0 5 0 5
CC JJJ LLLL 0 0 7 7
合计 7 7 7 21
zjcxc 元老 2006-05-15
  • 打赏
  • 举报
回复
create table 销售表(销售员 varchar(10),产品类型 varchar(10),产品类别 varchar(10),产品 varchar(10),数量 int)
insert 销售表 select 'A','AA','AAA','AAAA',3
insert 销售表 select 'A','AA','BBB','BBBB',4
insert 销售表 select 'B','AA','CCC','CCCC',2
insert 销售表 select 'B','BB','XXX','XXXX',5
insert 销售表 select 'C','CC','JJJ','LLLL',7

--语句

declare @s varchar(1000)
select @s='select
产品类型=case when grouping(产品类型)=1 then ''合计'' else 产品类型 end,
产品类别=case when grouping(产品类别)=1 then '''' else 产品类别 end,
产品=case when grouping(产品)=1 then '''' else 产品 end'
select @s=@s+',[销售员'+销售员+']=isnull(sum(case 销售员 when '''+销售员+''' then 数量 end),0)' from 销售表 group by 销售员
print @s
exec(@s+',合计=sum(数量)
from 销售表 group by 产品类型,产品类别,产品
with rollup
having grouping(产品类型)=1 or grouping(产品)=0')

--drop table 销售表

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧