现有库存表如下
仓库 产品编码 数量
1 001 10
2 001 3
3 001 13
1 002 10
2 002 33
3 002 22
.....
现在要求如下
汇总出每种产品的数量,跟仓库无关了
类似下面的结果
产品编码 汇总数量
001 55
002 65
.....
用sql查出来,谢谢了
小弟我对于sql查询不数量
------最佳解决方案--------------------
--创建数据开始
if(object_id('a') is not null) drop table a
go
create table a
(
[仓库] int,
[产品编码] varchar(20),
[数量] int
)
go
insert into a
select 1,'001',10 union all
select 2,'001',3 union all
select 3,'001',13 union all
select 1,'002',10 union all
select 2,'002',33 union all
select 3,'002',22
go
--创建数据结束
--语句
select case grouping([产品编码])when 1 then '合计' else [产品编码] end as [产品编码],sum([数量]) as [汇总数量]
from a
group by [产品编码] with rollup
/*
产品编码 汇总数量
-------------------- -----------
001 26
002 65
合计 91
(3 行受影响)
*/
------其他解决方案--------------------
最简单的方法,根据你的需要再做修改
SELECT 产品编码 ,
SUM(数量) 数量
FROM TB
GROUP BY 产品编码
------其他解决方案--------------------
if(object_id('a') is not null) drop table a
go
create table a
(
[仓库] int,
[产品编码] varchar(20),
[数量] int
)
go
insert into a
select 1,'001',10 union all
select 2,'001',3 union all
select 3,'001',13 union all
select 1,'002',10 union all
select 2,'002',33 union all
select 3,'002',22
go
SELECT
产品编码,
(SELECT SUM(数量) FROM a WHERE 产品编码 = d.产品编码) 数量
FROM a d
GROUP BY 产品编码
---测试结果:
产品编码 数量
-------------------- -----------
001 26
002 65
(2 行受影响)
------其他解决方案--------------------
SELECT cInvCode ,sum(iQuantity)
FROM CurrentStock group by cInvCode