我希望根据最优批量(OLQ)来拆分订单以生成多个工单,这意味着工单中的数量总和不会超过OLQ 。根据条件将数据行分成多行的SQL脚本
这里是我的订单表的样本数据:
Order Item Product Qty
OR-01 I-001 PRD-01 70
OR-01 I-001 PRD-02 15
OR-01 I-001 PRD-03 55
的OLQ该订单是30,因此工单的数量的总和不应超过30但工作顺序可以有多个产品同一项目(项目是产品的父项)。
这里是我要拆分这个以OLQ的基础上创建工作单:
Order WorkOrd Seq Item Product Qty
OR-01 WO-0001 001 I-001 PRD-01 30
OR-01 WO-0002 001 I-001 PRD-01 30
OR-01 WO-0003 001 I-001 PRD-01 10
OR-01 WO-0003 002 I-001 PRD-02 15
OR-01 WO-0003 003 I-001 PRD-03 5
OR-01 WO-0004 001 I-001 PRD-03 30
OR-01 WO-0005 001 I-001 PRD-03 20
注意,WO-0003有三个产品,10,15日和5金额为30.注意,最后的工单WO-0005只有20个数量(剩余的)。
在附件中,我突出了不同颜色的工作订单以便于理解。
请帮助我实现这一目标。
在此先感谢。
这是可以做到相当容易以'CURSOR'。 – Johan
@Johan,请提供逻辑 – Nagesh