我有一个标准的嵌套集模型,每个节点都有名字,lft和rgt属性。 4 L2 f0 q$ b2 f8 v$ X) r+ m我可以用以下方法找到特定员工的老板: 8 _# k/ ?" c2 cSELECT P2.* FROM Personnel AS P1,Personnel AS P2WHERE P1.lft BETWEEN P2.lft AND P2.rgtAND P1.name = "Bob"ORDER BY P2.lft我也可以通过添加限制和偏移来找到level2管理器: 0 {2 D {( Y5 w& y2 kSELECT 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级管理员的名字是唯一的。* Q8 h& u& K, L; k5 h% K9 ^) i
我需要一个查询,这个查询叫做 Susan”的level所有经理名为 2Bob”的员工。 / F r. q( n8 x0 O2 u编辑:我的查询只需要回到在玛丽工作的鲍勃身边,因为他是唯一一苏珊二级经理的鲍勃。 ! w% h3 [& W, Y; V+ j: p Big Boss / \Brian Susan | |Susan Mary | | Bob Bob " }- H1 e' I% k! |& v解决方案: