数据库
首页 > 数据库> > MySQL Recursive从父级获取所有子级

MySQL Recursive从父级获取所有子级

作者:互联网

我有这种情况使用Mysql上的递归查询在一个表上找到lv 2和lv3子…
我正在使用的数据库结构:

id name parent
1    A    0
2    B    0
3    C    0
4    D    1
5    E    1
6    F    2
7    G    2
8    H    3
9    I    3
10   J    4
11   K    4

我期望的结果,当过滤数据时,id = 1,它将产生我期待的结果.

id name parent
4   D     1
5   E     1
10  J     4
11  K     4

或者这就是例证.
Illustration

我一直在寻找各地,并阅读这http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/,但我没有找到我正在寻找的结果..任何帮助将不胜感激,谢谢

解决方法:

SELECT *
FROM TABLENAME
WHERE PARENT = 1
UNION
SELECT * 
FROM TABLENAME
WHERE PARENT IN 
    (SELECT ID FROM TABLENAME WHERE PARENT = 1)

标签:recursive-query,mysql,hierarchical-data,hierarchy
来源: https://codeday.me/bug/20190929/1830051.html