求库存中"先进先出"情况下的价格及进货价格不同时的根据价格进行数量拆分出货。有表结构!
现有入库,出库表,用户要求先进先出,而且是按当时的价格出,出完了上一笔,再出下一笔.
首先,有入库表:tb_in结构如下:
AutoID ProductsID inPrice inQty inDate
自动编号 产品编号 入库价格 数量 日期
--------------------------------------------------
1 3310 3.50 10 2005-3-1
2 3310 3.60 20 2005-3-8
3 3310 3.70 25 2005-3-9
出库表:tbout结构如下:
AutoID ProductsID outQty outDate
自动编号 产品编号 出库数量 日期
-----------------------------------------
1 3310 10 2005-3-10
2 3310 15 2005-3-11
3 3310 30 2005-3-12
*现在偶想设计一个如下报表(不知能否实现):
AutoID ProductsID Out_AutoID inPrice outQty
自动编号 产品编号 出库记录ID 出库库价格 出库数量
---------------------------------------------------
1 3310 1 3.50 10
2 3310 2 3.60 15
3 3310 3 3.60 5
4 3310 3 3.70 25
备:在上表的自动编号为2的记录中,本来入库记录ID2的总数量应是20,但由于只出了15,还剩下5,于是就把5插到下一条记录上进行拆分,这样用SQL能不能实现?
问:
A.出库价格是按当时对应的入库表的价格,sql怎么写?
B.如何对进货表中自动编号为2的这个记录进行拆分(分两次出货)?
说明:问题的初衷是这样的,我的出货价格是按进货价格出的,在价格不发生变化的情况下可以直接提取进货表的价格,但是当进货价格发生变化,就是说库里面有两种价格的货物,我要分别区分开两种价格的货物和数量,这样如何进行价格确定和数量的拆分。就像出货表3号记录的情况,20个货物,有两个
高手帮看看,谢了:)
[解决办法]
http://community.csdn.net/Expert/topic/5652/5652033.xml?temp=.7086756
hellowork(一两清风)的回复是针对先进先出拆分的,我的游标的算法有点区别,不是很适用
楼主参考下,不想再重写了
[解决办法]
我对进销存有点小研究,帮你看看
不过,你有些地方也没交代清楚,比如,第三个ID你入的25,出的30,肯定是过去还有库存,那就应该先出过去的5个,再出25个,是不是这个意思?