大力的先入先出的库存物品,按批次出货的问题的一个解法。

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

createtableG(goodsvarchar(2),lotvarchar(3),balint)
createtableO(oidvarchar,goodsvarchar(2),qtyint)
insertGselect'aa','p01',5
  unionselect'aa','p02',10
  unionselect'bb','p01',20

insertOselect'1','aa',11
  unionselect'1','bb',10
  unionselect'2','aa',2
  unionselect'3','aa',1

selectoid,b.goods,lot,deli=(casewhensq>sbthensbelsesqend)-(casewhensq-qty<sb-balthensb-balelsesq-qtyend)
from(select*,sq=(selectsum(qty) 
                            fromo
                            whereoid<=a.oidandgoods=a.goods
                          )
      fromoa
    )b
    join
    (select*,sb=(selectsum(bal)
                             fromg
                             wheregoods=a.goodsandlot<=a.lot
                           )
      fromga
    )c
    onb.goods=c.goodsandsq-qty<sbandsq>sb-bal
orderbyoid,b.goods,lot

droptableg,o
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值