2012-11-30 43 views
2

我有2个表Employees和部门系明智的薪水最高+2000

employee
empid
name
salary
location

department
deptno
deptname
empid
mangerid

现在我想找到部门明智的最高工资,然后由2000

回答

1

版增加他们:哈它没有发生,我认为你实际上意味着更新的行,我以为你只是想检索值。 @Ajith Sasidharan的答案是更完整的答案。

这似乎很奇怪,你的部门表引用的职员表,而不是周围的其他方法,但是这应该做你想要什么:

SELECT 
    d.deptno, 
    d.deptname, 
    max(e.salary+2000) 
FROM 
    department d 
INNER JOIN 
    employee e 
ON 
    e.empid = d.empid 
GROUP BY 
    d.deptno, d.deptname; 
+0

+1向后重要的参考意见 – jchapa

1
update emp 
set sal = sal + 2000 
where empid in (
select empid from dept where (deptno,sal) in (
select d.deptno,max(e.sal) 
    from emp e, 
    dept d 
    where e.empid = d.empid 
    group by deptno)); 
+0

耶的感谢dis – Pinky

+0

不要忘记注册并接受。 ;) – Ilion

+0

是的请接受;) –

相关问题