码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-05-29 01:42:13      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:inner   sql   union all   color   sel   tab   select   from   使用   

无限层级结构的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查询无限层级结构的所有下级,所有上级

标签:inner   sql   union all   color   sel   tab   select   from   使用   

原文地址:https://www.cnblogs.com/linJie1930906722/p/9103034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!