Вы можете использовать счетчик для этого, чтобы создать довольно простой запрос. Полный пример включен.
declare @games table
(
name varchar(10)
, games varchar(10)
)
insert @games values
('jack', 'cricket')
, ('jack', 'football')
, ('ryan', 'basketball')
, ('ryan', 'basketball')
, ('adi', 'cricket')
select name
, count(*)
from @games
GROUP BY name
HAVING count(distinct games) = 1
and MAX(games) = 'cricket'