我有以下表格
Employee24(Employeeid, firstname, jobroles)
Salary25(SalaryId, Employeeid, BasicSal, Allowences)
我想找到关于salary(BasicSal + Allowences)
jobroles
的员工
select e.firstname, e.lastname,
s.HighestSal, e.jobroles
from Employee24 e inner join
(select employeeid, max(basicsal) as HighestSal
from salary25
group by jobrole
) s
答案 0 :(得分:0)
您可以使用keep
功能 - Oracle中非常强大的方法:
select e.jobrole, max(BasicSal + Allowances) as max_salary,
max(e.EmployeeId) keep (dense_rank first order by BasicSal + Allowances desc) as employee_with_max
from salary25 s join
employee25 e
on s.Employeeid = e.Employeeid
group by e.jobrole;