回答

收藏

如何在嵌套集中查找特定level2节点的特定子级

技术问答 技术问答 5588 人阅读 | 0 人回复 | 2023-09-12

我有一个标准的嵌套集模型,每个节点都有名字,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    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则