有如下数据表
假如我们要查询ID为003的数据的所有子节点我们可以使用CTE 递归查询完成...
[sql] view plain copy print ? if OBJECT_ID('tb','N') is not null drop table tb; create table tb(ID varchar(3) , pID name varchar(10)); insert into tb values('001' , null , '广东省'); values('002' , '001' , '广州市'); values('003' , '深圳市') ; values('004' , '002' , '天河区') ; values('005' , '003' , '罗湖区'); values('006' , '福田区') ; values('007' , '宝安区') ; values('008' , '007' , '西乡镇') ; values('009' , '龙华镇'); values('010' , '松岗镇'); select * from tb; with cte as ( select a.ID,a.name,a.pID from tb a where ID='003' union all select k.ID,k.from tb k inner join cte c on c.ID = k.pID )from cte 查询结果如下: 003 深圳市 001 005 罗湖区 003 006 福田区 003 007 宝安区 003 008 西乡镇 007 009 龙华镇 007 010 松岗镇 007 总结
以上是内存溢出为你收集整理的sqlserver 递归查询全部内容,希望文章能够帮你解决sqlserver 递归查询所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)