Да, ваш подход верен, и вам, возможно, придется изменить условие подсчета, и, обращаясь к CTE, вам, возможно, придется немного изменить свой синтаксис, но вы можете сделать это и без CTE в той же строке, что и условие существующие.
Create table temp (ID int , Label varchar(10));
insert into temp values
(1 , "john" ),
(1 , "henry" ) ,
(1 , "sara" ) ,
( 2 , "henry" ) ,
(3 , "tim" ) ;
select t.ID , t.Label from temp t
where exists (
select ID, count(1) Dups from temp t1 where t1.ID = t.ID group by ID having count(1)
= 1)
Выход:
ID, Label
2, henry
3, tim