ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

oracle树结构汇总(父级显示子集的合计)

2022-01-20 09:35:36  阅读:247  来源: 互联网

标签:insert parent 父级 into 树结构 id values oracle 节点


 

我所做过的情况:

所有的数据都是存在末级节点上面的,然后查询的时候要求父节点要显示子集的合计

图一显示末级上面的数据

 

 

 

图二显示父节点的值  可以看出父级节点的值是子集的合计

 

 

 情况就是这样下面给出一个demo,在数据库执行以下就可以看出来该怎么做了

create table t

(id number,

parent_id number,

value number);

insert into t values(1,0,0);

insert into t values(2,1,0);

insert into t values(3,1,0);

insert into t values(4,2,100);

insert into t values(5,3,200);

commit;

select * from t order by id asc;

 

 关键语句:

with ttt as
(select t.*, SYS_CONNECT_BY_PATH(id, '/') || '/' path
from t
start with t.parent_id = 0
connect by prior t.id = t.parent_id)
SELECT id,
parent_id,
value,
(SELECT SUM(value) FROM ttt WHERE path like t1.path || '%') s_value
FROM ttt T1;

 

 

 

 

 

可以看出已经将所有的节点的数据都查出来了

接下就可以挑出父节点的数据,将他更新到父节点数据上,更新的时候可以使用merge into语法这样比较高效。

 

标签:insert,parent,父级,into,树结构,id,values,oracle,节点
来源: https://www.cnblogs.com/LDJW/p/15825002.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有