[求助] 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应该怎么写?
...全文
194 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
3tzjq 2014-06-04
  • 打赏
  • 举报
回复
顶,目前我设计的BOM树思路不是很好,不能嵌套,只能包含1层子集BOM,继续求方案。
3tzjq 2014-05-17
  • 打赏
  • 举报
回复
引用 3 楼 yupeigu 的回复:
可以参考这个: BOM按节点排序 http://blog.csdn.net/sqlserverdiscovery/article/details/21619489
这不是我想要的,继续顶!
LongRui888 2014-05-10
  • 打赏
  • 举报
回复
3tzjq 2014-05-10
  • 打赏
  • 举报
回复
X,高手帮帮忙吧
3tzjq 2014-05-09
  • 打赏
  • 举报
回复
急顶!

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧