区域平台统计报表,省--市--区 汇总,还有各级医院,汇总与列表要在一个列表显示。

用到ORACLE 会话时临时表  GLOBAL TEMPORARY TABLE     ON COMMIT PRESERVE ROWS;

递归树: START WITH P.PARENTORG = ‘ROOT‘

CONNECT BY PRIOR P.ORGCODE = P.PARENTORG;

WITH 连续嵌套

记录一下便于查阅。

CREATE OR REPLACE PACKAGE BODY PKG_JXKH_SHXBB AS

PROCEDURE MJZGH(P_REPORTID IN VARCHAR2,

P_UNITID IN VARCHAR2,--要查询的行政区划

P_SDATE IN VARCHAR2,--要查询的开始日期

P_EDATE IN VARCHAR2,--要查询的开始日期

V_CUR OUT REFCURSORTYPE) IS

PRAGMA AUTONOMOUS_TRANSACTION;

P_sql VARCHAR2(4000);

BEGIN

P_sql := ‘CREATE GLOBAL TEMPORARY TABLE TMP_MZJZGH (

PARENTCODE VARCHAR2(60),

PARENTUNITID VARCHAR2(60),

PARENTUNITNAME VARCHAR2(60),

A NUMBER,

B NUMBER,

C NUMBER

) ON COMMIT PRESERVE ROWS‘;

--EXECUTE IMMEDIATE P_sql;

EXECUTE IMMEDIATE ‘TRUNCATE TABLE TMP_MZJZGH‘;

COMMIT;

INSERT INTO TMP_MZJZGH

(PARENTCODE,PARENTUNITID,PARENTUNITNAME)

SELECT P.PARENTORG,P.ORGCODE,P.MANAGERORGNAME

FROM PMR005_ORG P

WHERE P.BELONGTO < 3

AND P.STATUS = ‘1‘

START WITH P.PARENTORG = ‘ROOT‘

CONNECT BY PRIOR P.ORGCODE = P.PARENTORG;

FOR CUR IN (

WITH TMP AS (SELECT A.PARENTORG,

A.ORGCODE,

A.MANAGERORGNAME,

TT.*

FROM PMR005_ORG A,

(SELECT T.UNITID,

SUM(CASE

WHEN T.MetaDATAID = ‘MZ_JZXX_GHRC‘ THEN

T.MetaDATAVALUE

ELSE

0

END) SUMGHRC,

SUM(CASE

WHEN T.MetaDATAID = ‘MZ_FY_JZRC‘ THEN

T.MetaDATAVALUE

ELSE

0

END) SUMJZRC,

SUM(CASE

WHEN T.MetaDATAID = ‘MZ_JZXX_LGRC‘ THEN

T.MetaDATAVALUE

ELSE

0

END) SUMLGRC

FROM JXKH_MetaDTAVALUE T

WHERE T.MetaDATAID IN

(‘MZ_JZXX_GHRC‘,‘MZ_FY_JZRC‘,

‘MZ_JZXX_LGRC‘)

AND INSTR(P_UNITID,UNITID) > 0

AND T.STATDATE >

TO_DATE(P_SDATE,‘YYYY-MM-DD‘)

AND T.STATDATE <

TO_DATE(P_EDATE,‘YYYY-MM-DD‘)

GROUP BY T.UNITID) TT

WHERE A.ORGCODE = TT.UNITID

AND A.BELONGTO < 4),

TMP2 AS (SELECT P2.PARENTORG,

P2.ORGCODE,

P2.MANAGERORGNAME,

SUM(SUMGHRC) A,

SUM(SUMJZRC) B,

SUM(SUMLGRC) C

FROM PMR005_ORG P2,TMP

WHERE P2.PARENTORG =

(SELECT ORGCODE

FROM PMR005_ORG

WHERE PARENTORG =

‘ROOT‘)

AND (P2.ORGCODE =

TMP.ORGCODE AND

P2.ORGTYPE = ‘2‘)

GROUP BY P2.PARENTORG,

P2.MANAGERORGNAME

UNION

SELECT P3.PARENTORG,

P3.ORGCODE,

P3.MANAGERORGNAME,

SUM(SUMGHRC),

SUM(SUMJZRC),

SUM(SUMLGRC)

FROM TMP,PMR005_ORG P3

WHERE (P3.ORGCODE =

TMP.PARENTORG OR

P3.ORGCODE =

TMP.ORGCODE)

AND P3.BELONGTO = ‘2‘

GROUP BY P3.PARENTORG,

P3.MANAGERORGNAME),

TMP3 AS (SELECT PARENTORG,

ORGCODE,

MANAGERORGNAME,

A,

B,

C

FROM TMP2

UNION

SELECT ‘ROOT‘,

‘14000000‘,

‘山西省‘,

SUM(A),

SUM(B),

SUM(C)

FROM TMP2

GROUP BY ‘ROOT‘,

‘山西省‘

UNION

SELECT P4.PARENTORG,

P4.ORGCODE,

P4.SHORTNAME,

SUM(TP.A),

SUM(TP.B),

SUM(TP.C)

FROM TMP2 TP,

PMR005_ORG P4

WHERE TP.PARENTORG =

P4.ORGCODE

AND P4.PARENTORG =

(SELECT ORGCODE

FROM PMR005_ORG

WHERE PARENTORG =

‘ROOT‘

AND ORGTYPE = ‘1‘)

GROUP BY P4.PARENTORG,

P4.SHORTNAME)

SELECT * FROM TMP3)

LOOP

UPDATE TMP_MZJZGH

SET A = CUR.A,B = CUR.B,C = CUR.C

WHERE PARENTCODE = CUR.PARENTORG

AND PARENTUNITID = CUR.ORGCODE

AND PARENTUNITNAME = CUR.MANAGERORGNAME;

END LOOP;

COMMIT;

OPEN V_CUR FOR

SELECT A.PARENTCODE,

A.PARENTUNITID,

A.PARENTUNITNAME,

A.A MZ_JZXX_GHRC,

A.B MZ_FY_JZRC,

A.C MZ_JZXX_LGRC

FROM TMP_MZJZGH A;

END;

END;

oracle树结构统计,ORACLE 递归树型结构统计汇总相关推荐

  1. 纯python统计基于orthofinder得到的系统发育树的关注点位置的树型结构

    对于某一个物种或某类物种在整个系统发育树中的位置存在一定争议的情况,使用直系同源基因构建单基因树,并对该物种或该类物种所在结构进行统计是可以对争议起到一定的解决作用的,在此留下全套流程和大家交流. 主 ...

  2. php删除树结构文件,树型结构列出目录中所有文件的php代码

    以树型结构列出指定目录里的所有文件,这样的话,目录下的所有文件便结构清晰的呈现在你的面前,有什么文件你一看便知,很方便的哦. 示例, php; auto-links:false;"> ...

  3. mysql 转成树_Mysql树型结构2种方式及相互转换

    Mysql实现树型结构,数据库上常见有2种方式:领接表.预排序遍历树(MPTT). 领接表方式-- 主要依赖于一个 parent 字段,用于指向上级节点,将相邻的上下级节点连接起来,id 为自动递增自 ...

  4. 二叉树Ⅰ · 树型结构 · 二叉树 · 满二叉树 · 完全二叉树 · 二叉树的性质 · 二叉树的存储

    目录 一.树型结构(了解) 1.1 引入和特点 1.2 概念(重要) 1.3 树的表示形式(了解) 二.二叉树(重点) 2.1 概念 2.2 二叉树的基本形态 2.3 两种特殊的二叉树 满二叉树 完全 ...

  5. 无限极分类php简单,创建无限极分类树型结构的简单方法

    先上效果图 顶级分类其实就是一级分类,二级分类也叫作一级分类的子分类,在这个基础上,子分类还可以拥有子分类,这样就构成了无限极分类. 接下来看具体实现的代码: 一.在控制器中按字段查询,查询出所有分类 ...

  6. Linux TC 流量控制与排队规则 qdisc 树型结构详解(以HTB和RED为例)

    1. 背景 Linux 操作系统中的流量控制器 TC (Traffic Control) 用于Linux内核的流量控制,它规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控 ...

  7. 树型结构(数据结构)

    6.1树的基本概念 树型结构是区别于线性结构的另一大数据结构,它具有分支性和层次性. 树是由n(n>=0)个结点构成的有限集合.n=0的树称为空树:当n!=0时,树中的结点度应该满足下列条件: ...

  8. dtree和jquery构建树型结构

    对于小型的树型应用来说,dtree是一个不错的选择. 先看一眼dtree给的例子 构造静态树 首先引入css文件和js文件 <link rel="StyleSheet" hr ...

  9. 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...

    小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...

最新文章

  1. 华为又牵手名校,这次是他!
  2. 二、配置QtDesigner、PyUIC及PyRcc
  3. jQueryEasyUI 的入门
  4. PS摩棒工具如何选中自己想要的区域
  5. c++ static 存储类
  6. ASP.NET AJAX(服务器回调)
  7. java 获取手机归属地_java 获取手机归属地
  8. Web3d明日之星基于Javascript和OpenGL的技术
  9. nlp中的经典深度学习模型(一)
  10. python os模块详细_python中os模块函数方法详解最全最新
  11. python2与python3区别底层的区别_Python2 与 Python3 的区别(二)?
  12. JDK+TOMCAT+MYSQL图文安装指南(一)
  13. 注意,SVN提交代码时,会遗漏so库
  14. 打印九九乘法表(跳转语句)
  15. python实现ID3决策树和CART决策树
  16. win8 配置要求
  17. 解决冲突后,git merge --continue 时 lint不通过
  18. nginx http 跳转到https
  19. 【牛客网专项练习题】
  20. 图像压缩编码——香农/哈夫曼编码

热门文章

  1. 目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)
  2. Springboot集成ES启动报错
  3. codeforces MUH and Important Things
  4. python label标签的作用_label标签的作用是什么?
  5. win7计算机找不到脚本文件夹,win7系统TXT文件打开提示找不到脚本文件的解决方法...
  6. adurnio 单片机_单片机20~200A大电流检测电路设计 用AD实现 带原理图,源代码,proteus仿真文件...
  7. k8s 安装nfs_K8s--06 K8s数据持久化
  8. python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...
  9. Docker 数据持久化的三种方案
  10. 关于Istio 1.1,你所不知道的细节