我有这个问题:
对于每位员工,检索他们的姓名和薪水以及他们的直接主管的姓名和薪水仅适用于那些超过其主管的员工。
我能够提出员工和主管的名字,姓氏和薪水,但是我很难完成只有那些比他们的主管更多的员工的代码。这是我到目前为止的代码:
select distinct e.fname, e.lname, e.salary, s.fname, s.lname, s.salary
from employee e, employee s
where e.super_ssn = s.super_ssn;
任何人都知道如何完成此代码并且只接收比他们的主管更多的员工?
答案 0 :(得分:1)
我认为您的查询中存在轻微错误(e.super_ssn = s.ssn),我在此查询中已更改,以及您的难度的答案。
select distinct e.fname, e.lname, e.salary, s.fname, s.lname, s.salary
from employee e, employee s
where e.super_ssn = s.ssn and e.salary > s.salary;
答案 1 :(得分:0)
select distinct e.fname, e.lname, e.salary, s.fname, s.lname, s.salary from employee e, employee s where e.super_ssn = s.super_ssn and e.salary>s.salary;