日期:2014-05-17  浏览次数:20741 次

求教:类似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后面?(如果编号不是正巧的话)