#2
mywisdom882020-11-27 22:03
|
大神能帮我解答下么?
现有出入库明细,按先进先出的原理,将入库按出库时间分摊,一直到分摊完。各种情况都会产生,如 出库>=入库,当天入库全部分摊到出库,剩余的出库由下一个入库分摊。 当出库<入库,入库按出库的日期排序,依次分摊,直到之前的出库分摊完。 有同一天的出库和入库,入库不补当天的,只补之前日期的出库。 需要在原始表上自动增加分摊数据,并且更改起始日期为“补足”。 出入库任何时间都可能有,不一定按我例子的日期, 表里数据会有几万条,希望处理速度快。
数据库: sql2000
字段:日期Datea, 出入库A1(正数是出库,负数是入库),结余量A2,起始日期Dbegin
举例: 原始表
Datea A1 A2 Dbegin
1-1 100 100 1-1
1-2 -100 0 1-2
1-3 100 100 1-3
1-4 60 40 1-4
1-5 100 140 1-5
1-8 10 150 1-8
1-8 -160 -10 1-8
1-10 10 0 1-10
1-12 10 10 1-12
1-13 20 30 1-13
1-15 -30 0 1-15
1-15 10 10 1-15
1-17 10 0 1-17
分摊数据插入后的表
Datea A1 A2 Dbegin
1-1 100 100 1-1
1-2 -100 0 1-2
1-1 100 补足
1-3 100 100 1-3
1-4 60 40 1-4
1-3 60 补足
1-5 100 140 1-5
1-8 10 150 1-8
1-8 -160 -10 1-8
1-5 100 补足
1-3 40 补足
1-10 10 0 1-10
1-12 10 10 1-12
1-13 20 30 1-13
1-12 10 补足
1-10 10 补足
1-8 10 补足
1-15 -30 0 1-15
1-15 10 10 1-15
1-13 20 补足
1-17 10 0 1-17