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' 태그를 붙였습니까? 오라클과 MySQL 모두에서 작동하는 대답이 필요합니까? –