Вам необходимо отфильтровать ваш набор данных на основе значений, которые не в вашем наборе данных, что обычно лучше всего сделать с помощью not exists
:
declare @t table (id int,keys varchar(50),value int);
insert into @t values (1,'AA',2),(2,'AA',2),(2,'BB',2),(3,'AA',2),(3,'BB',2);
select t1.id
from @t as t1
where not exists(select id
from @t as t2
where keys = 'BB'
and t1.id = t2.id
);
выход
+----+
| id |
+----+
| 1 |
+----+