首页 文章

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

提问于
浏览
0

MySQL数据库在物化路径数据结构的帮助下存储树 . 如何选择给定节点的所有父节点?

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

让我有那些树,需要节点'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中做到这一点?

1 回答

  • 0

    我在question posted by @quambo找到了解决方案 . 这里是:

    SELECT * FROM table
    WHERE ? LIKE id||%
    ORDER BY path
    

    '?'的注意事项有必要将路径放置到给定节点 .

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

相关问题