oracle 一个select语句的问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 02:41:49
找出每个部门挣钱最多的那个人的信息.
select ename, sal from emp join (select deptno, max(sal) max_sal from emp group by deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno);
可以执行。

但是当要显示这个人的部门号时,却会出错,如下,只加了个deptno

select deptno, ename, sal from emp join (select deptno, max(sal) max_sal from emp group by deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno);

请问为什么在开头加了一个deptno字段,就不能正常查询了呢?

未明确列,有两个deptno,加个所属表就ok了
select emp.deptno, ename, sal from emp join (select deptno, max(sal) max_sal from emp group by deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno);

兄弟 我看是没指定哪个表的 deptno吧!你改为 emp.deptno试下!希望成功!