我有下表。
+-------+--------+-------+
| Id| Name| Parent|
+-------+--------+-------+
| 0| A| -1|
| 1| B| 0|
| 2| C| 1|
| 3| D| 2|
| 4| E| 2|
| 5| F| 2|
| 6| G| 2|
| 7| H| 2|
| 8| I| 2|
+-------+--------+-------+
-1
作为父级意味着它没有父级。层次结构可以达到7-8级。
我需要得到所有的孩子(直接+间接)。我试过像:
SELECT Id, NAME, @pv:=Id AS 'Parent' FROM tbl
JOIN
(SELECT @pv:=-1)tmp
WHERE Parent=@pv
但它不起作用。
答案 0 :(得分:0)
尝试此查询
SELECT t1.name AS lev1, t2.name as lev2
FROM tbl1 AS t1
LEFT JOIN tbl1 AS t2 ON t2.parent = t1.id
WHERE t1.id = 2;
预期产出
+-------+--------+
| lev1| lev2|
+-------+--------+
| C| D|
| C| E|
| C| F|
| C| G|
| C| H|
| C| I|
+-------+--------+