无限层级结构的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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-14
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2022-02-05
相关资源
相似解决方案