2012-11-30 41 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

是的請接受;) –

相關問題