求教:类似ERP 多阶BOM成本从下往上滚算的语句
某产品 BOM结构如下:
阶次 品号 品号属性 成本
.1 A 采购件 10.0
.1 B 自制件 0
..2 B1 采购件 1.0
..2 B2 自制件 2.0
...3 B21 采购件 3.0
现在想直接通过SQL查询语句直接查询 品号B的成本,求大神指点。
B=B1+B2+B21+...,逻辑关系可以是 "当下阶right(阶次,1) >当前right(阶次,1)"时滚算。
------解决方案--------------------阶次是层次
你的例子太少,所以不过典型,扩展如下就知道了:
.1 A 采购件 10.0
.1 B 自制件 0
..2 B1 采购件 1.0
..2 B2 自制件 2.0
...3 B21 采购件 3.0
..2 B3 采购件 1.0
...3 B31 自制件 2.0
...3 B32 采购件 3.0
------解决方案--------------------程序的FOR循环遍历,就表示一种顺序了
而关系数据库的顺序是靠order by确定的
你看我的例子,order by什么,才能让b31在b3而不是b2后面?(如果编号不是正巧的话)