SQL查询无限层级结构的所有下级,所有上级
无限层级结构的table1表,Id(主键),ParentId(父级id)查询某个Id的所有下级或所有上级,使用WITH AS,UNION ALL 查询
1、查询Id为1所有的下级
WITH T AS( SELECT * FROM table1 WHERE Id=1 UNION ALL SELECT a.* FROM table1 a INNER JOIN T ON a.ParentId=T.Id ) SELECT * FROM T
2、查询Id为88所有的上级
WITH T AS( SELECT * FROM table1 WHERE Id=88 UNION ALL SELECT a.* FROM table1 a INNER JOIN T ON a.Id=T.ParentId ) SELECT * FROM T
作者:RichardCui
出处:https://www.cnblogs.com/yachao1120/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-RichardCuiBlog。