我有一个问题,我需要像经理B emp下的A emp一样获得o / p而B emp在C的经理之下,然后A员工必须连接到C.我使用层次结构查询,但是找不到0 / p。
示例:
Select * from emp where mgr=7566 --(consider these as c);
"EMPNO" "ENAME" "JOB" "MGR" "HIREDATE" "SAL" "COMM" "DEPTNO"
7788 "SCOTT" "ANALYST" 7566 19-APR-87 3000 20
7902 "FORD" "ANALYST" 7566 03-DEC-81 3000 20
--- now JONES is mgr of "SCOTT" and I have taken 7788 (scott)
select * from emp where mgr=7788;
"EMPNO" "ENAME" "JOB" "MGR" "HIREDATE" "SAL" "COMM" "DEPTNO"
7876 "ADAMS" "CLERK" 7788 23-MAY-87 1100 20
现在我们可以看到斯科特是亚当斯的人。我需要得到亚当斯和琼斯之间的关系..我在下面的sql上工作,但是没能得到0 / p ..
select * from emp connect by prior empno=mgr start with mgr
in ( select mgr from emp where mgr=7566)
and empno=7876.
专家请提供一些I / P ...
答案 0 :(得分:0)
也许您需要以下内容,展示"顶级经理"每个员工:
session_id
答案 1 :(得分:0)
假设您希望员工和经理之间建立三级关系。试试这个问题:
SELECT e1.empno, e2.mgr
FROM emp AS e1 INNER JOIN emp AS e2
WHERE e1.mgr = e2.empno
注意这个SQL查询不会返回每个员工的最高管理者。
所以,如果' B'是' A'的经理还有' C'是' B'的经理,查询将返回' A'和' C'。