Вы можете использовать предложения EXISTS и NOT EXISTS следующим образом:
Переменная таблицы для условий тестирования:
DECLARE @test TABLE (id INT, name VARCHAR(10))
INSERT INTO @test VALUES (1, 'Imp'), (1, 'Critical'), (2, 'Imp'), (2, 'NA'), (3, 'NA'), (3, 'NAN')
Случай 1 - СУЩЕСТВУЕТ при одном условии, а НЕ СУЩЕСТВУЕТ при другом.
SELECT * FROM @test t
WHERE EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'Imp')
AND NOT EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'critical')
Возвращает
2 Imp
2 NA
Случай 2 - СУЩЕСТВУЕТ при обоих условиях
SELECT * FROM @test t
WHERE EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'Imp')
AND EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'critical')
Возвращает
1 Imp
1 Critical
Случай 3 - НЕ СУЩЕСТВУЕТ при обоих условиях
SELECT * FROM @test t
WHERE NOT EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'Imp')
AND NOT EXISTS (SELECT * FROM @test WHERE id = t.id AND name = 'critical')
Возвращает
3 NA
3 NAN