Если вам действительно нужно использовать скалярный подзапрос, вы можете использовать ниже.
Примечание: если вам нужно использовать GROUP BY
, вы должны вместо этого использовать DISTINCT
в своем SELECT
.
WITH DEPT
AS (SELECT 'TR' AS LOC, 1 DEPTID FROM DUAL
UNION ALL
SELECT 'FR' AS LOC, 2 DEPTID FROM DUAL),
EMP
AS (SELECT 15 AS SAL, 1 DEPTID FROM DUAL
UNION ALL
SELECT 20 AS SAL, 2 DEPTID FROM DUAL
UNION ALL
SELECT 35 AS SAL, 1 DEPTID FROM DUAL
UNION ALL
SELECT 45 AS SAL, 2 DEPTID FROM DUAL
)
SELECT D.LOC,
(SELECT AVG(SAL)
FROM EMP E
WHERE D.DEPTID = E.DEPTID)
FROM DEPT D