求一条sql语句,已知商品卖出数量,现在要减去库存,只知道商品编号,有一个商品与货架的表,一个商品可能

求一条sql语句,已知商品卖出数量,现在要减去库存,只知道商品编号,有一个商品与货架的表,一个商品可能有好几个货架,怎么给他减去货架的库存呢?

set rowcount 1
update 货架 set 数量 = 数量 - 卖出数量
where 商品编号 = 卖出的商品编号
and 数量 >= 卖出数量
set rowcount 0
只影响一行记录 就不管是哪个货架撩 不知道行不行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-24
--假设商品与货架的表为table_a,里面有商品编号col_1,货架号col_2,货架库存量col_3
--另外假设商品卖出数量为@qty

select @qty - sum(col_3) from table_a where col_1 = '您已知的商品编号'

不知道是不是您想要的结果追问

就是想把卖出的数量从库存中减去,但是只知道商品编号,不知道货架编号,该怎么减?

追答

也就是说卖出去的商品,不知道是哪个货架上的商品是吧?这个问题就不好处理了
如果只想知道商品的剩余库存量,建议你创建一个库存余额表。里面有商品编号、库存量。
如果还要记录货架的话,除非对于卖出去的商品也能追踪到货架才行。

追问

唉,就是啊,可就要求这么做,愁死人啦

第2个回答  2011-06-24
delete 货架表 where 货架 in(select 货架 from 商品表 where 商品编号 = 商品编号)
相似回答