版权声明:转载请注明出处 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" ;