我创建了一个名为“net”的表并像这样插入了值。
id name parent
--------------------------------------
1 fruits 0
2 Apple 1
3 Orange 1
4 Grape 2
5 Green Apple 2
6 Red Apple 4
我想要得到 child “6”的所有 parent 。请帮助我
我期望的结果,当过滤数据时,id=6,它将生成我期望的结果。
lv1 lv2 lv3
--------------------------------------
4 2 1
或者像这样
id name parent
--------------------------------------
4 Grape 2
2 Apple 1
1 fruits 0
最佳答案
你可以使用这个:
SELECT T2.id, T2.name, T2.parent
FROM (
SELECT
@r AS _id,
(SELECT @r := parent FROM table1 WHERE id = _id) AS parent,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 6, @l := 0) vars,
table1 h
WHERE @r <> 0) T1
JOIN table1 T2
ON T1._id = T2.id
where T2.id<>6
ORDER BY T1.lvl
关于mysql - 如何从 child id中获取所有 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47160183/