我在oracle中有下表
EMPNO ENAME MGR
1 A 1
2 B 1
3 C 2
4 D 3
5 F 1
6 G 3
7 H 6
我需要传递一个EMPNO并且它应该给我manger id,如果经理有另一个经理,它应该在同一个领域给我id id。
例如,如果我传递empno = 7,则输出应为6,3,2,1。
答案 0 :(得分:0)
您可以使用jsfiddle语法创建分层查询:
SELECT mgr
FROM emp
START WITH empno = 7
CONNECT BY PRIOR empno = mgr
答案 1 :(得分:0)
这是查询,我最后用于实际结果
选择 ENAME, CONNECT_BY_ISCYCLE循环, 水平, SYS_CONNECT_BY_PATH(ENAME,' /')路径 来自EMP_DEMO 开始使用empno =' 7' 由NOCYCLE连接先前MGR = EMPNO;
您必须始终采用最高级别记录。