--由父项递归下级 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参考:http://msdn.microsoft.com/zh-cn/library/ms186243.aspx