code numb ck
A001 10 K01
A002 20 K01
A001 15 K02
A001 15 K03
A001 0 K04
我认为上面的东西应该加一字段,来判断谁先扣,谁后扣,不然不好搞.或者生成一临时表,ID自然排序.
A001 10 K01
A002 20 K01
A001 15 K02
A001 15 K03
A001 0 K04
我认为上面的东西应该加一字段,来判断谁先扣,谁后扣,不然不好搞.或者生成一临时表,ID自然排序.
declare @sels int '销售量
declare @stmb int '开始循环数
declare @numb int '总循环数
declare @ku int '当前记时的实际数存数set @stmb=0
set @sels=6select @numb=count(0) from AA
while @stmb < @numb
begin
set @ku=0
select @ku=numb,@tbid=id from AA where numb>0
if @ku-@sels > 0
begin
print '这里已扣完销售数量'
update AA set numb=0 where id = @tbid
end
else
begin
update AA set numb= numb-@ku where id = @tbid
set @ku=@sels-@ku
print '这里只扣完其库存数,剩余的数量在下一个环节上再扣'
end
set @sels=@sels-@ku
print @ku
set @stmb=@stmb+1
end
update AA set numb=numb-@sels where id = @tbid