我需要一些關於oracle sql的幫助。問題:我有2個表員工和部門。我從一個查詢中得到了平均部門薪水,我想用它來看看有多少員工比他們部門的平均薪酬更高。到目前爲止,我有這個。單行子查詢返回多個行
該查詢返回的部門平均:
select ROUND(AVG(Salary), 2) Dept_avg_sal
from employee, department
where department.department_id = employee.department_id
group by department_name
什麼,我試圖做的是:
select employee_name,
salary,
d.department_name
from employee e,
department d
where salary > (select ROUND(AVG(Salary), 2) Dept_avg_sal
from employee,
department
where department.department_id = employee.department_id
group by department_name)
,即時通訊得到的是錯誤:01427。 00000 - 「單行子查詢返回多於一行」
我知道同一部門的2名員工賺取的錢比平均數多,我認爲這是造成問題的原因。
EMPLOYEE_NAME - SALARY - -DEPARTMENT_NAME- DEPT_AVG_SAL
-------------------- ---------------------- -------------------- ------------
FISHER - 3000.00 - SALES - 2500.00
JONES - 3000.00 - ACCOUNTING - 2750.00
KING - 5000.00 - EXECUTIVE - 4500.00
**SCOTT - 2500.00 - IT - 2100.00
SMITH - 2900.00 - IT - 2100.00**
WILSON - 3000.00 - RESEARCH - 2633.33
任何幫助將非常感激。
爲什麼你給這個'MySQL'添加了標籤,你是否需要一個適用於Oracle和MySQL的答案? –