2017-02-10 17 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