求助:也是Oracle 中树型结构数据问题
  code    mcode    count   flag
  FIN       A        1      P
  FIN       B        2      P
  A         A1       2      P
  A         A2       4      R
  B         A1       3      P
  B         B1       1      R
  A1        A11      2      R  统计该表中完成一个最终品‘FIN’,需要 FLAG 标志是 ‘R’的物品的个数  说明‘FIN’ 为最终品,其中一个 FIN 需要 1 个 A;1个A需要2个A1、4个A2;一个A1需要2个A11 ,依次类推
 
  结果:最终完成一个'FIN' 需要 A2 4个;A11 16个; B1 2个  请问如何用SQL实现? 谢谢!

解决方案 »

  1.   

    SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(mcode, '/')||sys_connect_by_path(count,'/')  "Path"
       FROM employees
       START WITH code =  'FIN'   
       CONNECT BY PRIOR mcode   = code ;
      

  2.   

    楼上的方法在ORACLE 9i 以上可以实现,但是在以下版本不可以实现
    SYS_CONNECT_BY_PATH 的功能
      

  3.   

    SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(mcode, '/')||sys_connect_by_path(count,'/')  "Path"
       FROM employees
       START WITH code =  'FIN'   
       CONNECT BY PRIOR mcode   =