SELECT
T2.id,
T2.name
FROM
(
SELECT
@r AS _id,
( SELECT @r := parent_id FROM table1 WHERE id = _id ) AS parent_id,
@l := @l + 1 AS lvl
FROM
( SELECT @r := '149f3767-6c76-483e-bea6-9c2daf3abcbd', @l := 0 ) vars,
table1 h
WHERE
@r <> '0'
) T1
JOIN table1 T2 ON T1._id = T2.id
ORDER BY
T1.lvl DESC
结果:

数据表:


要注意类型,@r := 后面是字符串还是整型看查的是什么类型
本文深入探讨了使用SQL进行复杂查询的技术细节,特别是通过递归查询和连接操作来获取多层次的数据结构。展示了如何利用变量和子查询优化数据检索过程。
486

被折叠的 条评论
为什么被折叠?



