sqlserver查询指定树形结构的所有子节点

用标准sql的with实现递归查询(sql2005以上肯定支持,sql2000不清楚是否支持):

with subqry(id,name,pid) as (
  select id,name,pid from test1 where id = 5 --指定id
  union all
  select test1.id,test1.name,test1.pid from test1,subqry where test1.pid = subqry.id
)
select* from subqry;
posted @ 2016-03-29 16:02  有梦就能实现  阅读(4819)  评论(1编辑  收藏  举报