Ваш запрос и данные образца не соответствуют друг другу. На основе данных :
select account_num
from t
where product in ('Apples', 'Oranges')
group by account_num
having min(product) = max(product) and min(product) = 'Apples';
Фактически вы можете просто предложение having
для вашего примера:
having max(product) = 'Apples'
Это использует тот факт, что «Яблоки "встречается перед словом" Апельсины "в алфавитном порядке.