这种SQL语句该如何写
来源:百度知道 编辑:UC知道 时间:2024/06/01 07:57:50
需要一个求合语句,如:
厂家 产品 金额
厂家1 产品1 2000
厂家1 产品2 3000
合计 5000
厂家2 产品1 2300
厂家2 产品3 1400
合计 3700
象这样厂家合计的SQL该怎么写????
如果厂家和产品并不固定咋办呢,专家。。。。
厂家 产品 金额
厂家1 产品1 2000
厂家1 产品2 3000
合计 5000
厂家2 产品1 2300
厂家2 产品3 1400
合计 3700
象这样厂家合计的SQL该怎么写????
如果厂家和产品并不固定咋办呢,专家。。。。
问题补充:
如果厂家和产品并不固定咋办呢,专家。。。。
------------------
与不固定没有关系,以下语句只是分组求和。
use Tempdb
go
--> -->
declare @T table([厂家] nvarchar(3),[产品] nvarchar(3),[金额] int)
Insert @T
select N'厂家1',N'产品1',2000 union all
select N'厂家1',N'产品2',3000 union all
select N'厂家2',N'产品1',2300 union all
select N'厂家2',N'产品3',1400
Select [厂家]=case when grouping([产品])=1 then N'合计' else [厂家] end,[产品]=isnull([产品],''),sum([金额])[金额] from @T group by [厂家],[产品] with rollup having not (grouping([厂家])+grouping([产品])=2)
(4 个资料列受到影响)
厂家 产品 金额
---- ---- -----------
厂家1 产品1 2000
厂家1 产品2 3000
合计 5000
厂家2 产品1 2300
厂家2 产品3 1400
合计 3700
(6 个资料列受到影响)
表名定位a
select b.厂家,b.产品,sum(total)
from
(select 厂家,产品,sum(金额) total
from a
group by (厂家,产