Сравнение строк с одинаковым значением (среда SQL Server management studio)

#case #exists

Вопрос:

Я пытаюсь сравнить строки с одинаковым значением в одном столбце, в дополнение к этому мне нужно использовать несколько условий «КОГДА-ТОГДА-ЕЩЕ».

Допустим, у меня есть:

Идентификатор результата Правило
123 0
123 1135
111 0
222 1135
333 1135
333 2040
333 3588
555 1135
555 1135

1-е условие, если result_ID=Result_ID и правило = 0, ТО «Вручную»

2-е условие, если result_ID=Result_ID и правило = ТОЛЬКО для значения 1135, ТО «Сбой»

3-е условие, если result_ID=Result_ID и Правило = 1135 ИЛИ ЛЮБОЕ ДРУГОЕ ПРАВИЛО (кроме 0), ТО «Передано»

Это должно быть так:

Идентификатор результата Правило Результат
123 0 Инструкция
123 1135 Инструкция
111 0 Инструкция
222 1135 Неудачный
333 1135 Пройденный
333 2040 Пройденный
333 3588 Пройденный
555 1135 Неудачный
555 1135 Неудачный

У меня есть:

 SELECT CASE WHEN EXISTS (
            SELECT *
            FROM Table A2
            WHERE A2.Result_ID=A.Result_ID
            AND RULE_ID =0
            ) THEN 'Manual' 
            WHEN EXISTS (
            SELECT *
            FROM Table A2
            WHERE A2.Result_ID=A.Result_ID
            AND RULE_DETAIL_ID =1135
            ) THEN 'Failed' 
            ELSE 'Passed' end as ABC
FROM  ....
 

Но это не совсем правильный результат, который я получаю. И для загрузки данных требуется время, может быть, я смогу как-то упростить этот запрос?

Спасибо вам за вашу помощь.