SQL查询无限层级结构的所有下级,所有上级

Posted 赛跑的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于SQL查询无限层级结构的所有下级,所有上级的主要内容,如果未能解决你的问题,请参考以下文章

无限级结构SQL查询所有的下级和所有的下级

php如何查找会员无限分类的所有上级和所有下级

递归无限查询上级或者下级

树形结构表查询,只用一条SQL语句查询所有父级ID解决办法

T-SQL查询:WITH AS 递归计算某部门的所有上级机构或下级机构

mysql递归查询语句