这种SQL语句该如何写

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:57:50
需要一个求合语句,如:
厂家 产品 金额
厂家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 (厂家,产