Code前端首页关于Code前端联系我们

MED AS查询:无限级别结构SQL查询所有子级和父级

terry 2年前 (2023-09-26) 阅读数 54 #数据库

Id、PId无限级别结构,查询特定Id的所有子级或所有父级,使用MED AS查询:

/*查找Id为1所有的下级*/
WITH T
AS( 
    SELECT Id,PId,Name,0 L FROM User WHERE Id=1
    UNION ALL 
    SELECT U.Id,U.PId,U.Name,L+1   
    FROM User U INNER JOIN T ON U.PId=T.Id  
) 
SELECT * FROM T

/*查找Id为100所有的上级*/
WITH T
AS( 
    SELECT Id,PId,Name,0 L FROM User WHERE Id=100
    UNION ALL 
    SELECT U.Id,U.PId,U.Name,L+1   
    FROM User U INNER JOIN T ON U.Id=T.PId  
) 
SELECT * FROM T

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门