求部门中哪些人的薪水最高:select ename,sal,deptno from emp
join (select max(sal) max_sal,deptno from emp group by deptno) t
on (emp.deptno = t.deptno and emp.sal = t.max_sal);执行这条语句时为什么不能select deptno 呢?第 1 行出现错误: 
ORA-00918: 未明确定义列

解决方案 »

  1.   

    第 1 行出现错误: 
    ORA-00918: 未明确定义列应该检查一下字段是不是对的。
      

  2.   

    汗!解决了应该是 emp.deptno
      

  3.   

    可能是select max(sal) max_sal,deptno from emp group by deptno中的group by deptno没有加表名进行限制。group by emp.deptno
      

  4.   

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