SQL根据指定节点ID获取所有父级节点和子级节点

--根据指定节点ID获取所有子节点--
WITH TEMP AS
(
SELECT * FROM table_name WHERE Id='4' --表的主键ID
UNION ALL
SELECT T0.* FROM TEMP,table_name T0 WHERE TEMP.Id=T0.ParentId --子级ID==父级ID
)
SELECT * FROM TEMP;


--根据指定节点ID获取所有父节点--
WITH TEMP AS
(
SELECT * FROM table_name WHERE Id='32' --表的主键ID
UNION ALL
SELECT T0.* FROM TEMP,table_name T0 WHERE TEMP.ParentId=T0.Id --父级ID==子级ID
)
SELECT * FROM TEMP;

 

你可能感兴趣的:(数据库)