2017-02-10 32 views
-1

我試圖運行一個查詢,該查詢將顯示該經理的經理ID和最低薪僱員。它也將排除任何最低工資等於或低於6000美元且經理人不詳的羣體。我的代碼顯示了所有這些,但付款最低的員工除外。這是我的代碼。SQL連接表和MIN子句

select departments.manager_id, employees.salary 
from hr.employees, hr.departments, hr.jobs 
where employees.department_id = departments.department_id 
AND jobs.job_id = employees.job_id 
AND departments.manager_id IS NOT NULL 
AND salary NOT IN 
(select salary 
from hr.employees 
where salary <= 6000) 
+1

員工是如何連接到管理目前尚不清楚。 – Forklift

+0

您需要將最後一條SELECT語句中的員工加入主查詢中的員工。 – jjjjjjjjjjj

+0

更新您的問題添加相關的表架構,適當的數據樣本和預期的結果 – scaisEdge

回答

0

這裏只是基於EMP表,可能會幫助一些......

select * from (
    select min(e1.sal) over(partition by m1.ename) minsal 
, e1.mgr 
, e1.ename 
, m1.ename Manager 
, e1.sal sal 
from emp e1 
join emp m1 
    on e1.mgr = m1.empno 
) 
where minsal > 1500 

    MINSAL  MGR ENAME  MANAGER   SAL 
---------- ---------- ---------- ---------- ---------- 
     3000  7566 FORD  JONES   3000 
     3000  7566 SCOTT  JONES   3000 
     2450  7839 CLARK  KING    2450 
     2450  7839 BLAKE  KING    2850 
     2450  7839 JONES  KING    2975