表为:
商品1 包装费 商品费
商品2 包装费 商品费
商品3 包装费 商品费
商品4 包装费 商品费
商品1 包装费 商品费
求 : 合计 商品小类合计 商品1 商品2 商品3 商品4
包装费:
商品费:帮我想想解决办法
商品1 包装费 商品费
商品2 包装费 商品费
商品3 包装费 商品费
商品4 包装费 商品费
商品1 包装费 商品费
求 : 合计 商品小类合计 商品1 商品2 商品3 商品4
包装费:
商品费:帮我想想解决办法
调试欢乐多
create table tb(A varchar(10),B varchar(10),Qty int)
insert into tb
select 'A1', 'B1', 2 union all
select 'A2', 'B2', 5 union all
select 'A3', 'B1', 4 union all
select 'A1', 'B2', 6declare @s1 nvarchar(4000)
select @s1=''select @s1=@s1+','+B+'=MAX(case when B='''+B+''' then Qty end)' from tb group by B
select @s1='select A' + @s1 + ' from tb group by A'
exec(@s1)drop table tb
select sum(包装费+商品费) 合计,sum(包装费) 商品小类合计,sum(iif(商品=商品1,包装费,0)) 商品1,sum(iif(商品=商品2,包装费,0)) 商品2,sum(iif(商品=商品3,包装费,0)) 商品3,sum(iif(商品=商品4,包装费,0)) 商品4 from 表
union
select sum(包装费+商品费) 合计,sum(商品费) 商品小类合计,sum(iif(商品=商品1,商品费,0)) 商品1,sum(iif(商品=商品2,商品费,0)) 商品2,sum(iif(商品=商品3,商品费,0)) 商品3,sum(iif(商品=商品4,商品费,0)) 商品4 from 表
====================================
sql 是无所不能的
如果用sqlserver,就用case...when
如果用oracle,就用decode