Mysql SQL:如何选择物化路径中的所有父节点?

Mysql SQL:如何选择物化路径中的所有父节点?,mysql,tree,hierarchy,Mysql,Tree,Hierarchy,MySQL数据库借助物化路径数据结构存储树。如何选择给定节点的所有父节点 我使用点“.”作为路径分隔符,数据库结构包括指示树中节点深度的“level”字段 让我拥有这些树并需要节点“a.b.d.e”的所有父节点: id | path a | a b | a.b c | a.b.c d | a.b.d e | a.b.d.e f | a.f 脚本应返回: a a.b a.b.d a.d.d.e (optional) 如何在MySQL中实现这一点?我在中找到了解决方

MySQL数据库借助物化路径数据结构存储树。如何选择给定节点的所有父节点

我使用点“.”作为路径分隔符,数据库结构包括指示树中节点深度的“level”字段

让我拥有这些树并需要节点“a.b.d.e”的所有父节点:

id | path
 a | a
 b |  a.b
 c |   a.b.c
 d |   a.b.d
 e |    a.b.d.e
 f |  a.f
脚本应返回:

a
a.b
a.b.d
a.d.d.e (optional)

如何在MySQL中实现这一点?

我在中找到了解决方案。这是:

SELECT * FROM table
WHERE ? LIKE id||%
ORDER BY path
必须将路径放置到给定节点,而不是“?”

SELECT * FROM table
WHERE 'a.b.d.e' LIKE id||%
ORDER BY path