当前位置: 代码迷 >> Oracle开发 >> oracle树形数据汇总,该怎么处理
  详细解决方案

oracle树形数据汇总,该怎么处理

热度:15   发布时间:2016-04-24 06:43:29.0
oracle树形数据汇总
id     name      val         parentid
1        w1           0            0
2        w2           2            1
3        w3           3            1
4        w4           4            2

更新表数据后得到

id     name      val         parentid
1        w1           7           0
2        w2           4            1
3        w3           3            1
4        w4           4            2

树子集相加汇总到父级
------解决方案--------------------
引用:
求更新SQL

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

把test换成你的表名即可。。
------解决方案--------------------
引用:
Quote: 引用:

求更新SQL

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

把test换成你的表名即可。。

顶一个............
  相关解决方案