Mysql层次结构 - 检查节点是否为父节点

时间:2017-02-24 10:44:15

标签: mysql hierarchy

我有一个这种格式的用户表:

|   ID   |   PARENT  |
|    1   |           |
|    2   |     1     |
|    3   |     1     | 
|    4   |     3     |
|    5   |     3     |
|    6   |     5     |

我想创建一个查询来验证X是否是Y的父级。我发现的示例没有多大帮助,因为它们在多级层次结构中不能很好地工作。 谢谢你的帮助!

编辑:输出可以是节点的所有父节点的列表,在PHP中我可以检查id是否在列表中。

我试过这个问题:

select  id,
        parent_id 
from    (select * from users
         order by parent_id, id) users_sorted,
        (select @pv := '200911') initialisation
where   find_in_set(parent_id, @pv) > 0
and     @pv := concat(@pv, ',', id);

但它仅适用于优于我们正在搜索的ID的ID。我有一个特殊情况,父母的id优于他孩子的

0 个答案:

没有答案