例如表为:User
1、获取指定节点下的所有子节点:
WITH TEMP AS
(
SELECT * FROM User WHERE ID='0' --表的ID
UNION ALL
SELECT t.* FROM TEMP,User t WHERE TEMP.ID=t.parent_id --子级ID==父级ID
)
SELECT * FROM TEMP;
2、获取指定节点的所有父节点:
WITH TEMP AS
(
SELECT * FROM User WHERE ID='0' --表的ID
UNION ALL
SELECT t.* FROM TEMP,User t WHERE TEMP.parent_id=t.id --父级ID==子级ID
)
SELECT * FROM TEMP;
该博文是转载的,原博文地址:https://blog.youkuaiyun.com/qq_25004825/article/details/53433653