从MySQL的循环引用表中获取所有父项

时间:2017-08-30 09:33:02

标签: mysql sql circular-reference

我有一个表,其中包含父子关系的循环引用。它看起来就像这个小提琴中的那个。

http://sqlfiddle.com/#!9/2d852c/1/0

我需要查找给定ID的所有父名称。我可以在这里使用哪个查询。我已尝试将表连接到自身,但它只会在树中获取一个级别。也就是说它只会获取直接父级。我需要得到所有的父母。如果我用“第三个”搜索,我需要得到第二个'并且'首先'

1 个答案:

答案 0 :(得分:1)

尝试此查询。但是,不确定它是否适用于所有可能的测试用例。

SELECT *
FROM table1
WHERE parent > 0 AND parent <= (SELECT parent FROM table1 WHERE name LIKE fifth')
ORDER BY id DESC