在PL / SQL中合计分层数据

时间:2014-07-17 13:03:15

标签: sql oracle hierarchy hierarchical-data hierarchical-clustering

我正在为制造公司制作复杂的零件层次结构,我需要创建组合计。我不能仅仅处理叶子,因为一些中间部件被出售以及用于制造另一种产品。到目前为止,我的查询基础如下:

    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

仅返回销售部件,其中包含层次结构链中所有数量的产品。

0 个答案:

没有答案