解决方案 »

  1.   

    UPDATE T1
       SET T1.FY = (SELECT DECODE(SUM(FY), NULL, T1.FY, SUM(FY))
                       FROM T1 T2
                      WHERE T2.ID <> T1.ID
                        AND CONNECT_BY_ISLEAF = 1
                      START WITH T2.ID = T1.ID
                     CONNECT BY PRIOR T2.ID = T2.PAR_ID);
      

  2.   

    查询就用下面这个就可以。
    SELECT T1.*,
           (SELECT DECODE(SUM(FY), NULL, T1.FY, SUM(FY))
              FROM T1 T2
             WHERE CONNECT_BY_ISLEAF = 1
             START WITH T2.ID = T1.ID
            CONNECT BY PRIOR T2.ID = T2.PAR_ID) SUMFY
      FROM T1
      

  3.   

    UPDATE T1
       SET T1.FY = (SELECT DECODE(SUM(FY), NULL, T1.FY, SUM(FY))
                       FROM T1 T2
                      WHERE T2.ID <> T1.ID
                        AND CONNECT_BY_ISLEAF = 1
                      START WITH T2.ID = T1.ID
                     CONNECT BY PRIOR T2.ID = T2.PAR_ID);
    真的是佩服呀,不好想