感觉就用这一部分就能描述问题了: 
select deptno from 
(select deptno,avg(sal)  from emp group by deptno) t
 where t.avg(sal) = 
(select max(avg(sal)) from (select deptno,avg(sal)  from emp group by deptno)) ;//emp是雇员表,deptno是部门号
这个查询结果正确。
然后,我本来是这么写的:
 select deptno from 
(select deptno,avg(sal) from emp group by deptno) t
 where t.avg(sal) = 
(select max(avg(sal)) from t) ;
就是最后的那部分用t表表示了。
本来以为一样的,结果提示表或视图不存在。
不明白啊o(╯□╰)o
望高手帮帮忙啊。

解决方案 »

  1.   

    SELECT TOP 1 deptno 
    FROM (
        SELECT deptno,avg(sal) as avgsal
        FROM emp
        GROUP BY deptno
        ) tmp
    ORDER BY avg(sal) DESC你的语句这样改就好了。
     
      

  2.   

    这么写多方便啊,为啥不行尼%>_<%
      

  3.   

     select deptno from 
    (select deptno,avg(sal) from emp group by deptno) t
     where t.avg(sal) = 
    (
    --括号里是另一个世界,这里没有T
    select max(avg(sal)) from t
    ) ;
      

  4.   

    奥,难不成是这样滴?t视图对那个括弧里的无效?
    那既然这么说了,为什么要让它进不去那另外的世界啊?O(∩_∩)O~