Мне нужна помощь с оракулом 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
Буду признателен за любую помощь.