组织部门关系

版权声明:转载请注明出处 https://blog.csdn.net/qq_26769591/article/details/82700802

前言:
写了一堆的java代码,现在发现,解决这个问题的最好的手段是用sql中的层级方法,sql真是强大啊


具体操作:

1.导入到数据库中

2.用下列的sql语句进行查询

我的理解

1层级关系,本意是想生成一个树,根是不能有多个的,你可以自己设置根,也就是开始的点,如果不是顶级节点,就可能是树的一部分,里面可能有数据就没没用了。
2如果层次关系不是一棵树就有可能出现循环的问题,然后就需要用 NOCYCLE 这个关键词 ,另外为了显示,循环的结果集,可以用 CONNECT_BY_ISCYCLE “Cycle” ,他会记录循环的记录
3下面就是一个有循环的组织关系

select ia.id,name,IA.PARENT_ID,level, CONNECT_BY_ISCYCLE "Cycle" from SYS_P_DEPARTMENT ia CONNECT BY NOCYCLE prior ia.id=ia.parent_id ORDER BY "Cycle" ;

3 结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_26769591/article/details/82700802