SQLserver2008使用表达式递归查询

--由父项递归下级

with cte(id,parentid,text) as

(

--父项

select id,parentid,text from treeview where parentid = 450

union all

--递归结果集中的下级

select t.id,t.parentid,t.text from treeview as t

inner join cte as c

on t.parentid = c.id

)

select id,parentid,text from cte

---------------------

--由子级递归父项

with cte(id,parentid,text) as

(

--下级父项

select id,parentid,text from treeview where id = 450

union all

--递归结果集中的父项

select t.id,t.parentid,t.text from treeview as t

inner join cte as c

on t.id = c.parentid

)

select id,parentid,text from cte

原文地址:https://www.cnblogs.com/yf2011/p/5139248.html