使用ORACLE SQL query显示其工资低于其经理但高于任何其他经理工资的员工
使用ORACLE SQL query显示其工资低于其经理但高于任何其他经理工资的员工我们需要了解您的数据结构才能回答此问题!您有哪些表,哪个表中有哪些相关字段,它们是如何链接的?使用自连接1 empno,ename,esalry.mgr empno=100,ename=A,esal=1000,mgr=101 2 empno=101,ename=B,esal=2000,mgr=102 3empno=102,ename=c,esal=3000,mgr=104等。我只能完成一半的查询,其中给出的员工薪酬高于他们自己的经理,例如,从员工E1、员工E2中选择不同的E1.LAST_NAME、E1.salary、E2.LAST_NAME、E2.salary,其中E1.manager_ID=E2.EMPLOYEE_ID和E1.salary>E2.salary。但无法得到第二部分如何做比任何其他管理者的工资多很多。真的有助于完整的答案吗使用ORACLE SQL query显示其工资低于其经理但高于任何其他经理工资的员工,sql,database,oracle11g,oracle10g,informatica-powercenter,Sql,Database,Oracle11g,Oracle10g,Informatica Powercenter,使用ORACLE SQL query显示其工资低于其经理但高于任何其他经理工资的员工我们需要了解您的数据结构才能回答此问题!您有哪些表,哪个表中有哪些相关字段,它们是如何链接的?使用自连接1 empno,ename,esalry.mgr empno=100,ename=A,esal=1000,mgr=101 2 empno=101,ename=B,esal=2000,mgr=102 3empno=102,ename=c,esal=3000,mgr=104等。我只能完成一半的查询,其中给出的员工薪
WITH mgr_salaries ( empno, ename, esal, mgr, mgr_salary ) AS (
SELECT empno,
ename,
salary,
mgr,
PRIOR salary
FROM Employees
START WITH mgr IS NULL
CONNECT BY PRIOR empno = mgr
)
SELECT *
FROM mgr_salaries
WHERE salary < mgr_salary
AND NOT EXISTS (
SELECT 1
FROM mgr_salaries x
WHERE x.mgr <> m.mgr
AND x.mgr_salary > m.salary
);