Вы можете подойти к этому разными способами. Один метод, использующий коррелированные подзапросы:
select maker
from t
where type = 'Printer' and
models > (select t2.models from mytable t2 where t2.maker = t.maker and t2.type = 'laptop') and
models > (select t2.models from mytable t2 where t2.maker = t.maker and t2.type = 'type');
Одна вещь, которую вы можете сделать с этим подходом, легко распространить его на любое количество моделей. , , с настройкой:
select maker
from t
where type = 'Printer' and
models > (select max(t2.models)
from mytable t2
where t2.maker = t.maker and t2.type <> 'Printer'
) ;
Или, если хотите:
select maker
from t
where type = 'Printer' and
models > all (select t2.models
from mytable t2
where t2.maker = t.maker and t2.type <> 'Printer'
) ;