db2层级查询
CREATE VIEW v_orgtype99 as
SELECT t1.SYS_ORG_TYPE_NAME top_name1,
t2.SYS_ORG_TYPE_NAME top_name2,
--若机构表第二层为空,算第一层的机构编码,依次类推。
CASE WHEN o2.SYS_ORG_ID IS NULL THEN o1.SYS_ORG_FINANCIAL_CODE
WHEN o3.SYS_ORG_ID IS NULL THEN o2.SYS_ORG_FINANCIAL_CODE
WHEN o4.SYS_ORG_ID IS NULL THEN o3.SYS_ORG_FINANCIAL_CODE
ELSE o4.SYS_ORG_FINANCIAL_CODE END SYS_ORG_FINANCIAL_CODE,
--若机构表第二层为空,算第一层的机构名,依次类推。
CASE WHEN o2.SYS_ORG_ID IS NULL THEN o1.SYS_ORG_NAME
WHEN o3.SYS_ORG_ID IS NULL THEN o2.SYS_ORG_NAME
WHEN o4.SYS_ORG_ID IS NULL THEN o3.SYS_ORG_NAME
ELSE o4.SYS_ORG_NAME END SYS_ORG_NAME,
t3.SYS_ORG_TYPE_ID one_level_code,t3.SYS_ORG_TYPE_NAME one_level_name, --机构类型表最底层
o1.SYS_ORG_ID two_level_code,o1.SYS_ORG_NAME two_level_name, --机构表第一层
o2.SYS_ORG_ID three_level_code,o2.SYS_ORG_NAME three_level_name, --机构表第二层
o3.SYS_ORG_ID four_level_code,o3.SYS_ORG_NAME four_level_name, --机构表第三层
o4.SYS_ORG_ID five_level_code,o4.SYS_ORG_NAME five_level_name --机构表第四层
FROM
SYS_ORG_TYPE_TB t1
INNER JOIN SYS_ORG_TYPE_TB t2 ON t1.SYS_ORG_TYPE_ID = t2.SYS_ORG_TYPE_UPID --机构类型第一层t1,第二层t2
LEFT JOIN SYS_ORG_TYPE_TB t3 ON t2.SYS_ORG_TYPE_ID = t3.SYS_ORG_TYPE_UPID --机构类型第三层t3
LEFT JOIN (SELECT * FROM SYS_ORG_TB WHERE SYS_ORG_UPID IS NULL) o1
ON t3.SYS_ORG_TYPE_ID = o1.SYS_ORG_TYPE_ID --机构表第一层o1
LEFT JOIN SYS_ORG_TB o2 ON o1.SYS_ORG_ID = o2.SYS_ORG_UPID --机构表第二层o2
LEFT JOIN SYS_ORG_TB o3 ON o2.SYS_ORG_ID = o3.SYS_ORG_UPID --机构表第三层o3
LEFT JOIN SYS_ORG_TB o4 ON o3.SYS_ORG_ID = o4.SYS_ORG_UPID --机构表第四层o4
WHERE t1.SYS_ORG_TYPE_NAME='商业银行'
db2层级查询的更多相关文章
- 用SYS_CONNECT_BY_PATH进行层级查询时的排序问题
用SYS_CONNECT_BY_PATH进行层级查询时, 对同一级别的节点进行排序,可以加order SIBLINGS by 子句实现 WITH N2 AS( SELECT n.ID, org.&qu ...
- Oracle--(Hierarchical Queries)层级查询
内容来自: Oracle® Database SQL Language Reference 11g Release 2 (11.2) E41084-03. empolyees表来自hr方案,wareh ...
- CUBRID学习笔记 42 Hierarchical QuerySQL层级查询
cubrid的中sql查询语法Hierarchical QuerySQL层级查询 ------ 官方文档是英文的,看不明白可以参看ocracle的同类函数说明.很多都是一样的. ORACLE中CONN ...
- 浅谈oracle树状结构层级查询之start with ....connect by prior、level及order by
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...
- 浅谈oracle树状结构层级查询测试数据
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...
- oracle树形结构层级查询之start with ....connect by prior、level、order by以及sys_connect_by_path之浅谈
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...
- Atitit 数据库视图与表的wrap与层级查询规范
Atitit 数据库视图与表的wrap与层级查询规范 1.1. Join层..连接各个表,以及显示各个底层字段1 1.2. 统计层1 1.3. 格式化层1 1.1. Join层..连接各个表,以及显示 ...
- oracle递归层级查询 start with connect by prior
递归层级查询:start with connect by prior 以部门表作为解析 表结构:dept{id:'主键',name:'部门名称',parent_id:'父亲id'} select * ...
- Oracle--(Hierarchical Queries)层级查询(用于部门层级等)
原网址:https://www.cnblogs.com/guofeiji/p/5291486.html 如果表中包含层级数据,可以使用层级查询子句按层级顺序选择数据行,形成层级树,形式如下: 下面是层 ...
随机推荐
- YTU 2622: B 虚拟继承(虚基类)-沙发床(改错题)
2622: B 虚拟继承(虚基类)-沙发床(改错题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 487 解决: 393 题目描述 有一种特殊的床,既能当床(Bed)用又能当沙发(S ...
- urllib2.urlopen超时未设置导致程序卡死
没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了,设 ...
- 解决 jquery dialog 弹框destroy销毁方法不能把弹出元素设置成初始状态
在使用jquery ui中的dialog弹出窗口的时候遇到一个问题,就是页面弹出窗口关闭后希望表单元素能回到初始状态 例如文本框输入内容后关闭dialog后里面的内容清除,使用了destroy方法也不 ...
- IDEA Artifacts问题
如果你使用的IDEA并且无论如何都ClassNotFound异常的话,可以看看其中一种可能的解决方案 第一步:打开Project Struture-->Modules-->点击项目--&g ...
- 洛谷 P2090 数字对
发现如果给定两个数(a,b),可以用类似辗转相除法在logn的时间内计算出(反向)变到(1,1)的最小步数. 然而并不知道另一个数是多少? 暴力嘛,枚举一下另一个数,反正1000000的nlogn不虚 ...
- ACM_下一个排列
The Next Permutation Time Limit: 2000/1000ms (Java/Others) Problem Description: For this problem, yo ...
- C#模拟百度登录并到指定网站评论回帖(三)
上次说到怎么获取BAIDUID,这个相信很多人都能够拿到就不多说了,今天一连说两个,获取token和raskey 2.利用以上获得的cookie直接访问页面 https://passport.baid ...
- LN : leetcode 5 Longest Palindromic Substring
lc 5 Longest Palindromic Substring 5 Longest Palindromic Substring Given a string s, find the longes ...
- php-5.3源码编译autoconf版本不符合解法
1. 网上下载符合版本的autoconf 2. 卸载本地原本的autoconf 3. 解压autoconf 后进入目录 ./configure && make && s ...
- Java设置全局热键——第三方包jintellitype实现
Java原生API并不支持为应用程序设置全局热键.要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C/C++的javaer来说,有点困难.不过幸好,国外有人已经实 ...