我有一个这种格式的用户表:
| 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优于他孩子的