Oracle Express의 SQL에서 서브 쿼리를 사용하여 직원이 자신의 부서에서받는 최고 급여의 salary_id를 가져 오려고합니다. 내가 가진 테이블은 다음과 같습니다Oracle SQL의 서브 쿼리
먼저Employee
Emp_id Salary Dept_id
100 1000 a101
200 2000 a101
300 2500 b102
Salary
Grade LowSal HiSal
1 500 900
2 901 2000
3 2001 3000
내가이 쿼리와 각 부서의 최대 급여를 추출 : 2000 및 2500
다음 단계 :
SELECT Max(e.SALARY)
FROM EMPLOYEE e
GROUP BY e.DEPT_ID
결과는 두 개의 레코드입니다 그 급여의 성적을 얻는 것이므로 다음을 사용합니다 :
SELECT GRADE
FROM SALARY
WHERE (SELECT Max(e.SALARY)
FROM EMPLOYEE e
GROUP BY e.DEPT_ID) BETWEEN LOWSAL AND HIGHSAL;
오류 그쪽으로 ORA-01427 : 단일 행 하위 쿼리가 둘 이상의 행을 반환합니다.
SQL에서 하위 쿼리로 SQL 명령을 어떻게 수행 할 수 있습니까?
급여 테이블은 어떻게 직원 테이블에 링크됩니까? 연결은 어디 있습니까? –