Вы можете использовать group by
и having
для идентификации групп:
select f_name
from t
group by f_name
having sum( (Type1 = 1) ) > 0 and
sum( (Type1 = 2) ) > 0 and
sum( (Type1 in (1, 2) ) = count(*);
Каждое условие в предложении having
подсчитывает количество строк, соответствующих условию. В > 0
говорится, что есть хотя бы одна строка. = count(*)
говорит, что все строки соответствуют.