Вы можете использовать агрегирование:
select st.category, min(extract(year from e.hiredate)) yr
from nikovits.emp e
inner join nikovits.sal_cat st
on e.sal > st.lowest_sal
and e.sal < st.highest_sal
group by st.category
having min(extract(year from e.hiredate)) = max(extract(year from e.hiredate))
Обратите внимание, что в этом запросе используется стандартный синтаксис соединения с ключевым словом on
), а не неявное соединение (с запятой в * 1007). * пункт). Этот старый синтаксис из десятилетий go не должен использоваться в новом коде.
Кроме того, все столбцы в запросе должны быть дополнены таблицей, к которой они принадлежат, чтобы избежать неоднозначности; Я сделал предположение, что hiredate
принадлежит таблице emp
.