假设如下表
| ID | NAME | ROLE | MGRID |
---------------------------
| 1 | ONE | 5 | 5 |
| 2 | TWO | 5 | 5 |
| 3 | THREE | 5 | 6 |
| 4 | FOUR | 5 | 6 |
| 5 | FIVE | 15 | 7 |
| 6 | SIX | 25 | 8 |
| 7 | SEVEN | 25 | 7 |
| 8 | EIGHT | 5 | 8 |
我如何获得向某员工报告的所有员工的列表,包括处于以下后续报告级别的员工?
我的意思是,给定 emp id 5,我应该得到 [1, 2],给定 7,我应该得到 [1, 2, 5, 7]。我如何完成这项工作?
self 加入在这里会有帮助吗?现在需要复习我对连接的了解。
最佳答案
SELECT id
FROM emp
START WITH id = 7
CONNECT BY NOCYCLE mgrid = PRIOR id
SQLFIDDLE LINK
关于mysql - 表中的自连接和递归选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18084235/