列举出其经理的薪金和gt;但比其他经理少的员工。

问题描述 投票:-1回答:1

列出他的经理的工资和gt,但工资比其他经理少的员工。

emp_ID  emp_Name    emp_sal_K   emp_manager
1        Ali          200         3
2        Zaid         620         4
3        Mohd         1140        2
4        LILY         600         NULL
5        John         1240        6
6        Mike         1160        4
7        John         1240        6
8        Mohd         1640        2

查询

select *
from emp_demo2 e1
      where emp_sal_K > 
        (select emp_ID from emp_demo2 e2 
        where e1.emp_manager = e2.emp_ID and e2.emp_sal_K 
         < all
          (select emp_id from emp_demo2 e3
           where e2.emp_ID = e3.emp_id))

结果: 空栏。共有4位经理 2,4 ,63. 这里很明显,emp_id 2 Zaid是一个人,他的工资620比他的经理的工资emp_id大。4 该数字为600,但比其他所有管理人员的数字都要少。63. 所以我应该得到这个结果,但什么也没得到。

预期结果

emp_ID  emp_Name    emp_sal_K   emp_manager
  2      Zaid         620         4
sql sql-server
1个回答
1
投票
SELECT emp.* 
FROM   emp_demo2 emp 
       LEFT JOIN emp_demo2 mgr 
              ON emp.emp_manager = mgr.emp_id 
WHERE  emp.emp_sal_k > mgr.emp_sal_k 
       AND emp.emp_sal_k < (SELECT Min(mgr1.emp_sal_k) 
                            FROM   emp_demo2 emp1 
                                   JOIN emp_demo2 mgr1 
                                     ON emp1.emp_manager = mgr1.emp_id 
                            WHERE  mgr1.emp_id <> emp.emp_manager 
                                   AND mgr1.emp_id <> emp.emp_id) 
© www.soinside.com 2019 - 2024. All rights reserved.