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 如果表中包含层级数据,可以使用层级查询子句按层级顺序选择数据行,形成层级树,形式如下: 下面是层 ...
随机推荐
- 列表渲染v-for
v-for我们用v-for指令根据一组数据的选项列表进行渲染.v-for指令需要以item in items形式的特殊语法,items是源数据数组并且item是数组元素迭代的别名. demo: < ...
- attr 和 prop的区别和使用
一. attr和prop的区别 要想弄清楚attr和prop的区别,就要先搞清楚js中使用DOM方法获取设置属性和使用对象方法获取设置属性的区别. 在javascript中使用DOM方法设置获取属性值 ...
- J20170602-ts
アソシエーション association n. 联想; 协会,社团; 联合,联系; アンケート 英文是questionnaire
- Linux C编程之一:Linux下c语言的开发环境
---恢复内容开始--- 今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去... 1.开发环境的构成 编辑器:VI: 编译器:选择GNU C/C++编译器gcc: 调试器: ...
- Linux 常规操作指南
1.修改Linux服务器别名 临时修改: vim /etc/hostname 修改别名 永久修改: vim /etc/sysconfig/network 添加 HOSTNAME=别名 重启服务器 ...
- [C++ STL] 各容器简单介绍
什么是STL? 1.STL(Standard Template Library),即标准模板库,是一个高效的C++程序库. 2.包含了诸多常用的基本数据结构和基本算法.为广大C++程序员们提供了一个可 ...
- 使用mysqldump导出数据库(表)
mysqldump用来备份数据库或在不同数据库之间迁移数据,mydqldump的备份内容包括用来创建表和装载表的SQL语句. 一.mysqldump使用方法 (1).备份单个数据库或数据库中的部分表, ...
- EasyUI系列学习(六)-Tooltip(提示框)
一.创建组件 0.Tooltip不依赖其他组件 1.使用class加载 <a href="#" class="easyui-tooltip" title= ...
- System.AppDomain类详解(一)
AppDomain是CLR(Common Language Runtime:公共语言运行库),它可以加载Assembly.创建对象以及执行程序. AppDomain是CLR实现代码隔离的基本机制. 每 ...
- HTML空格占位
它叫不换行空格,全称No-Break Space,它是最常见和我们使用最多的空格,大多数的人可能只接触了 ,它是按下space键产生的空格.在HTML中,如果你用空格键产生此空格,空格是不会累加的 ...