下面有一个表:要求查询出各种商品的总库存数量,库存总价,
成本均价(同种商品不能重复)-------------------------------------------
商品编码 |商品名称|仓库编码|数量|成本价|金额
-------------------------------------------
001 |电视机 |01 |5 |20 |100
-------------------------------------------
001 |电视机 |02 |10 |30 |300
-------------------------------------------
002 |计算机 |01 |5 |50 |250
-------------------------------------------
002 |计算机 |02 |10 |100 |1000
查询结果:
------------------------------------------
商品编码 |商品名称|库存数量|成本均价|库存总价
------------------------------------------
001 |电视机 |15 |26.67 |150
------------------------------------------
002 |计算机 |15 |83.33 |1250
------------------------------------------
备注:
成本均价=库存总价/库存数量
或 成本均价=某商品的总金额/某商品的总数
列如:
电视机的成本均价=(100+300)/(5+10)
用SQL语言怎样查询?
成本均价(同种商品不能重复)-------------------------------------------
商品编码 |商品名称|仓库编码|数量|成本价|金额
-------------------------------------------
001 |电视机 |01 |5 |20 |100
-------------------------------------------
001 |电视机 |02 |10 |30 |300
-------------------------------------------
002 |计算机 |01 |5 |50 |250
-------------------------------------------
002 |计算机 |02 |10 |100 |1000
查询结果:
------------------------------------------
商品编码 |商品名称|库存数量|成本均价|库存总价
------------------------------------------
001 |电视机 |15 |26.67 |150
------------------------------------------
002 |计算机 |15 |83.33 |1250
------------------------------------------
备注:
成本均价=库存总价/库存数量
或 成本均价=某商品的总金额/某商品的总数
列如:
电视机的成本均价=(100+300)/(5+10)
用SQL语言怎样查询?
from (select 商品编号, 商品名称, sum(数量) 库存数量, sum(金额) 库存总价
from 表
group by 商品编号, 商品名称) t2未经测试... 均价保留的小数位数可能需要你自己处理一下
insert @t select '001','电视机','01',5,20,100
union all select '001','电视机','02',10,30,300
union all select '002','计算机','01',5,50,250
union all select '002','计算机','02',10,100,1000select
goodsid As '商品编码',
goodsname As '商品名称',
sum(qty) As '库存数量',
cast(sum(amount)*1.0/sum(qty) as dec(8,2)) As '成本均价',
sum(amount) As '库存总价'
from @t
group by goodsid,goodsname