mssql 递归


--递归id往下所有内容
with temp ( URE_ID, URE_PARENT_ID,URE_NAME ,URE_TYPE)
as
(
select URE_ID, URE_PARENT_ID,URE_NAME ,URE_TYPE
from ASM_USER_REGION
where URE_PARENT_ID= 23
union all
select a.URE_ID, a.URE_PARENT_ID,a.URE_NAME ,a.URE_TYPE
from ASM_USER_REGION a
inner join temp on a.URE_PARENT_ID = temp.URE_ID
)
select * from temp


--递归id往上所有内容
with temp ( URE_ID, URE_PARENT_ID,URE_NAME ,URE_TYPE)
as
(
select URE_ID, URE_PARENT_ID,URE_NAME ,URE_TYPE
from ASM_USER_REGION
where URE_ID= 41
union all
select a.URE_ID, a.URE_PARENT_ID,a.URE_NAME ,a.URE_TYPE
from ASM_USER_REGION a
inner join temp on a.URE_ID = temp.URE_PARENT_ID
)
select * from temp

原文地址:https://www.cnblogs.com/ainidewen/p/6912114.html