sqlserver实现oracle递归树函数样例(start with.....connect by prior)

来源:互联网 发布:mac os 查看 ip 编辑:程序博客网 时间:2024/04/29 13:09
 

所要用到的两张表:

 

sqlserver实现oracle递归树函数样例(start <wbr>with.....connect <wbr>by <wbr>prior)

sql语句:

sqlserver中的:

with stepCTE AS ( SELECT G.treecode,G.PARENTID, G.GROUPID,1  AS Lev FROM MIS_GROUPINFO G WHERE G.GROUPID IN (SELECT GROUPID FROM MIS_GROUPINFOADMIN WHERE USERID = '00000001') UNION ALL SELECT a.treecode,a.PARENTID,a.GROUPID ,CTE.Lev + 1 FROM MIS_GROUPINFO a inner join StepCTE CTE ON CTE.GROUPID = a.PARENTID ) --此后跟的插入或查询语句 select * from stepCTE order by treecode 

oracle中的: 

 

SELECT GROUPID, treecode  FROM MIS_GROUPINFO START WITH GROUPID IN (SELECT GROUPID FROM MIS_GROUPINFOADMIN                         WHERE USERID = '00000002')CONNECT BY PRIOR GROUPID = PARENTID order by treecode


效果图:

sqlserver实现oracle递归树函数样例(start <wbr>with.....connect <wbr>by <wbr>prior)

原创粉丝点击