[求助] MRP中的子BOM问题
3tzjq 2014-05-09 12:01:31 MRP系统中的Forecast运算有个“包含子产品”的选项,要求勾选时要将该产品的子BOM一起运算。急求SQL
数据表大致结构是这样的:
BOMMaster:
BOMID ProductID Version
BOMDetail:
SerialId BOMID COMP_ID Qty...
BOMChild:
SerialId BOMID ChildProduct(跟COMP_ID同外键) BOMRef(该子产品引用的BOM编号)
Product:
ProductID Des....
WO:
WOID ProductID R_Date Qty
MPS:
MPSID WOID Qty
假设上述表中有这些数据:
Product:
ProductID Des
P1 TEST1
P2 Child
...
WO:
WOID ProductID R_Date Qty
W1 P1 2014-7-1 2000
...
MPS:
MPSID WOID Qty
M1 W1 2000
...
BOMMaster:
BOMID ProductID Version
B1 P1 A00
B2 P2 A00
BOMChild:
SerialId BOMID ChildProduct(跟COMP_ID同外键) BOMRef
1 B1 P2 B2
BOMDetail:
SerialId BOMID COMP_ID Qty...
1 B1 C1 1
2 B1 R1 2
3 B2 C1 3
4 B2 R1 1
5 B2 D1 2
...
我现在要将WO中7月份的物料需求统计出来。
那么应该要得到下述结果:
WOID ProductID WO_Qty COMP_ID TotalQty
W1 P1 2000 C1 8000 --(包含子BOM中的C1 = (1 + 3) * 订单数量2000 = 8000)
W1 P1 2000 R1 6000 --(包含子BOM中的R1 = (2 + 1) * 订单数量2000 = 6000)
W1 P1 2000 D1 4000 --(包含子BOM中的D1 =2 * 订单数量2000 = 4000)
请问SQL应该怎么写?