我想显示在同一个表中的部门中获得最高薪水的员工的部门编号、姓名和薪水。
我正在使用 oracle sql。我使用的表结构是
Emp(Empno,Ename,Job,Salary,Deptno)
我已经读过这个,我认为这可以通过使用相关的子查询来完成。我发出的查询是
select E1.Ename,E1.Ename,E1.Salary
from Emp E1
where E1.Empno=(
select Empno
from Emp E2
where Salary=(
select max(Salary)
from Emp
where Deptno=E1.Deptno
)
);
这给出了一个错误,说“单行子查询返回多行”。我究竟做错了什么?应该怎么做才能纠正?