我正在为制造公司制作复杂的零件层次结构,我需要创建组合计。我不能仅仅处理叶子,因为一些中间部件被出售以及用于制造另一种产品。到目前为止,我的查询基础如下:
select rownum, level, part, qty
from <table>
where <param>
START WITH <component#>
CONNECT BY prior <part#> = <component#>
这给了我一个表,其中分支可以与其根分离,因为存在其他分支。如何复制根以便我可以拥有完整的层次结构列表?如果这是不可能的,那么下一个最佳解决方案是拥有一个回顾的运行总计,找到层次结构的最后部分或每个完整层次结构的乘积。
示例数据:
Level | Part | Qty Used | Sales 1 | a | 2 | Y 2 | b | 1 | N 3 | c | 5 | Y 2 | d | 6 | Y 3 | e | 5 | N 4 | f | 2 | Y 3 | g | 3 | Y 1 | h | 6 | N 2 | i | 3 | Y
必填结果:
Sales Part | Qty Product a | 2 c | 10 d | 60 f | 120 g | 36 i | 18
仅返回销售部件,其中包含层次结构链中所有数量的产品。