我有一个封闭表 HIERARCHY
ancestor | descendant | depth
100 | 100 | 0
2 | 100 | 1
3 | 100 | 2
4 | 100 | 3
和一个连接表 PROPERTIES
id | key | value
4 | action | DEFAULT
4 | duration | PT1H
100 | action | OVERRIDE
100 | duration | PT1M
我可以使用查询获取整个子树
SELECT id, key, value
FROM hierarchy, properties
WHERE id = ancestor
AND descendant = 100
ORDER BY depth
获得最低层次结构成员的最简单/最快的方法是什么?,即。有min(depth)
100 | action | OVERRIDE
100 | duration | PT1M
我仍然需要保持层次结构,这意味着如果100
在查询中找不到,4
就会显示出来。
换句话说,我试图找到具有最低深度的树成员的所有行,可能不会在WHERE
子句中重复查询
数据库是目前完全发布的mysql,即。5.7