SQL: 如何select 物化路径中的所有父节点?
SQL: How to select all parent nodes in Materialized path?
MySQL数据库借助物化路径数据结构存储树。如何 select 给定节点的所有父节点?
我用点'.'作为路径分隔符,数据库结构包括 '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
脚本应该return:
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
MySQL数据库借助物化路径数据结构存储树。如何 select 给定节点的所有父节点?
我用点'.'作为路径分隔符,数据库结构包括 '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
脚本应该return:
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