树形数据表逐级向上汇总更新,求高效SQL范例,具体入内。。

william3033 william3033 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
目前正在做一个进度计划管理模型,计划表结构为树形。
主要数据列有作业编码、作业名称、上级作业编码、计划开始、计划完成、实际开始、实际完成、完成情况(未开始、施工中、完成)等几列。
核心业务操作分为两种,1、编排计划(设置计划开完工),2、盘点计划(设置实际开工、百分比)。

业务逻辑上要求由下往上汇总。如编制计划时,设置好最下级计划(叶子节点)的计划开始、完成实际,自动往上逐级汇总生成上级计划开始、完成(由下级的最小的开始实际、最大的完成得到上级计划开完工);
盘点计划时同理,根据下级计划的实际开完工、完成情况自动往上汇总生成上级计划的实际开完工情况(当所有下级都完成,设置上级计划的开完工、状态为完成;全部都未开始,则上级设为未开始;一部分完成,则只设置开始时间,状态为施工中)。

每一个计划的数据量在1500-2000条左右,叶子节点数约6-800,计划树形一般约5层。数据库为oracle 11g。

目前已经写有几版SQL语句,但总体效率不行,求给力高效SQL……

很久没来CSDN,分可加。。
...全文

相关推荐

数据表转化成树形结构

如何把数据库转化成树形显示,整理通过编译版

kb818

左侧树形菜单+右侧页面+sql2000

一个页面,左侧是树形菜单,菜单是三级的,右侧根据左侧菜单而响应不同的结果页面,页面和SqlServer2000数据连接,实现了对数据库的插入操作。可以根据自己的需要扩展。

smart_hh

mysql数据表导出生成xml文件和树形结构

输入mysql 的IP,用户名可以浏览mysql数据库中的数据表,并且将数据表格生成Xml文件同时将Xml文件以树的形式展示

fengzhigex

SQL处理多级分类,查询结果呈树形结构

这样处理的弊端是:如果数据量大,子分类很多,达到4级以上,这方法处理极端占用数据库连接池 对性能影响很大。 如果用SQL下面的CTE递归处理的话,一次性就能把结果给查询出来,而且性能很不错 比用程序处理(数据量很大的情况),临时表性能更好,更方便 代码如下: with area as( select *,id px,cast(id as nvarchar(4000)) px2 from region where parentid=0 union all select a.*,b.px,b.px2+ltrim(a.region_id) from region a join area b on

weixin_38529123

Oracle SQL树形结构查询

oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: 代码如下:select * from tablename start with cond1 connect by cond2 where cond3; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。 用上述语法的查询可以取得这棵树的所有记录。 其中COND1是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,

weixin_38544152
评论 3
收藏 已收藏
分享
返回顶部
william3033
Oracle 高级技术 3,499 成员 18,710 内容