如果他的工资高于所有员工的平均工资,我就会显示“显示EMPLOYEE_NAME,DEPARTMENT_NAME&”字段“上方”;“低于”是他的工资低于平均水平。
SELECT EMPLOYEE_NAME,DEPARTMENT_ID
(CASE
WHEN (SALARY>=(SELECT AVG(SALARY)FROM HR.EMPLOYEES)) THEN 'ABOVE'
ELSE 'BELOW'
END) "SALARY STATUS"
FROM HR.EMPLOYEES;
但是现在我希望得到与字段相同的结果,上面和下面说,但是基于他所在部门所有员工的平均工资。有近14个部门。我被困在这里,可以请任何人帮助我。提前谢谢。
答案 0 :(得分:0)
SELECT EMPLOYEE_NAME,DEPARTMENT_ID
(CASE
WHEN (SALARY>=(SELECT AVG(B.SALARY)FROM HR.EMPLOYEES AS B WHERE A.DEPARTMENT_ID = B.DEPARTMENT_ID))
THEN 'ABOVE'
ELSE 'BELOW'
END)
"SALARY STATUS"
FROM HR.EMPLOYEES AS A;