Oracle ExpressのSQLのサブクエリを使用して、従業員が部門で取得する最高の給与のsalary_idを取得したいと思います。私が持っているテーブルは次のとおりです。
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
まず、次のクエリを使用して、各部門の最大給与を抽出しました。
SELECT Max(e.SALARY)
FROM EMPLOYEE e
GROUP BY e.DEPT_ID
結果は2つのレコードです:2000と2500
次のステップはそれらの給与の成績を取得することなので、私は以下を使用します。
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コマンドを実行するにはどうすればよいですか?