В компании более одного менеджера, поэтому для этого запроса, который вы написали, возвращается более одной строки:
select empno from emp where job = upper('manager')
Когда вы написали знак равенства =
, вы сказали компилятору SQL, что 'ожидаем только одну строку в результате, от вышеупомянутого запроса.Вместо того, чтобы писать знак равенства, вы должны использовать функцию IN
:
e.mgr IN (select empno from emp where job = upper('manager'))
Полный код, как и должно быть:
select min(e.sal) from emp e
where e.mgr in (select empno from emp where job = upper('manager'))
group by e.sal, e.mgr