当前位置: 代码迷 >> Sql Server >> 老题2,该如何解决
  详细解决方案

老题2,该如何解决

热度:4   发布时间:2016-04-27 20:25:16.0
老题2
设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门     号、部门名称、部门经理的职工号。
求每个部门工资的前两位,然后怎么写?
select   top   2   salary   from   emp
order   by   salary   desc



------解决方案--------------------
--try
select top 2 a.salary from emp a
where a.ENO in(select ENO from emp where a.DNO=DNO order by salary desc )
------解决方案--------------------
怎么能让部门也加进来 就是部门 两个工资 再下一个部门 两个工资
--------------------
先把两个表关联起来,再用mugua604(熟不了的木瓜) 的方法:
select b.DNAME,a.ENAME,a.salary from emp a join DEPT b on a.DNO=b.DNO
where a.ENO in(select top 2 ENO from emp where a.DNO=DNO order by salary desc )
order by b.DNAME,a.salary desc
代码迷推荐解决方案:软件开发者薪资,http://www.daimami.com/other/1391128.html
  相关解决方案