MED AS查询:无限级别结构SQL查询所有子级和父级
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前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。