MySQL树层次结构查询?
我需要获取父节点的所有子节点 我的桌子如下所示MySQL树层次结构查询?,mysql,sql,stored-procedures,recursion,Mysql,Sql,Stored Procedures,Recursion,我需要获取父节点的所有子节点 我的桌子如下所示 id parent_id 并且说数据是 id parent_id 1 -1 2 1 3 -1 4 2 5 4 我想要一个查询,它将返回给定id的所有子项 例如,如果我通过1,它将返回2,4,5 SET @input = 1; SELECT GROUP_CONCAT(lvl SEPARATOR ',') children FROM ( SELECT @q := (SELECT GRO
id
parent_id
并且说数据是
id parent_id
1 -1
2 1
3 -1
4 2
5 4
我想要一个查询,它将返回给定id的所有子项
例如,如果我通过1,它将返回2,4,5
SET @input = 1;
SELECT GROUP_CONCAT(lvl SEPARATOR ',') children FROM (
SELECT @q := (SELECT GROUP_CONCAT(id SEPARATOR ',') FROM tbl
WHERE parent_id IN (@q)) AS lvl FROM tbl
JOIN
(SELECT @q := @input) tbl
WHERE parent_id IN (@q)) t;
这是查询。是多个级别还是只有一个级别?父->chield还是伟大的父->父->子?你不能用一个查询来完成它(不是在mysql中)。你需要一个函数。请看这里:好吧,你可以,只是不能用这个数据结构。