我有一个标准的嵌套集模型,每个节点都有名字,lft和rgt属性。 1 i0 Q, L& `, A' Y/ m我可以用以下方法找到特定员工的老板: ! J: O! ~8 P* n Y2 M& } z) {SELECT P2.* FROM Personnel AS P1,Personnel AS P2WHERE P1.lft BETWEEN P2.lft AND P2.rgtAND P1.name = "Bob"ORDER BY P2.lft我也可以通过添加限制和偏移来找到level2管理器: 2 V6 X/ |$ V8 \) uSELECT P2.* FROM Personnel AS P1,Personnel AS P2WHERE P1.lft BETWEEN P2.lft AND P2.rgtAND P1.name = "Bob"ORDER BY P2.lftLIMIT 2 OFFSET 1在某些情况下,我可能有多个名为“鲍勃”的员工在不同的level2经理下班。2级管理员的名字是唯一的。; d) w! }( d3 O! K" v) C" Z
我需要一个查询,这个查询叫做 Susan”的level所有经理名为 2Bob”的员工。 ' W. u; u. J& L: Z编辑:我的查询只需要回到在玛丽工作的鲍勃身边,因为他是唯一一苏珊二级经理的鲍勃。9 E; }: S' c) z) ~6 g% {5 d2 t
Big Boss / \Brian Susan | |Susan Mary | | Bob Bob + t7 Y0 Z9 i4 d* O4 Z解决方案: