Вывод в SELECT кастомных записей из двух таблиц

Таблица t_pers

id | name
1  | Вася 
2  | Женя
3  | Вова

Таблица t_tests

pers_id | test_id | status_id | status_name |
---------------------------------------------
1       | 002     | 3         | Не пройден  | 
1       | 002     | 3         | Не пройден  |
1       | 002     | 4         | Пройден     |
1       | 002     | 4         | Пройден     |
1       | 002     | 4         | Пройден     |

Есть две таблицы t_pers и t_tests. Необходимо написать запрос, который по id из t_pers выводил бы в select кастомные стобцы с одной строкой, где в первом столбце было бы имя сотрудника, а в последующий столбцах данные по тестам. При этом выводился бы статус "Пройден" если у сотрудника в таблице t_tests есть хотя бы одна строка с status_id=4 или "Не пройден" если у сотрудника нет ни одной строки с status_id=4 или данного сотрудника в таблице t_tests нет

name_pers | first_test | second_test | third_test
-----------------------------------------------------------------
Вася      | Не пройден | Пройден     | Не пройден

Продолжаю пробовать реализовать через PIVOT. Проблема в том, что с помощью вот такого запроса получаю таблицу с кол-вом строк равным количеству строк из SourceTable, а мне нужна одна строка... помогите, кто может Вот запрос:

SELECT
    testName,
    [6969151001688955991] AS 'Тест "Кожа и замша козленка. Материаловедение - 4 неделя"', 
    [6998058936402461757] AS 'Тест по марке LR Lorettini'
FROM
    (
    SELECT DISTINCT
        tl.assessment_id AS testId,
        cls.fullname AS fullname,
        cls.id AS persId,
        tl.assessment_name AS testName
    FROM test_learnings tl
        JOIN collaborators cls ON cls.id = tl.person_id
    WHERE cls.code = 51138 AND tl.state_id = 4 
) AS SourceTable
PIVOT
(
    COUNT(persId)
    FOR testId in ([6969151001688955991], [6998058936402461757])
) AS pvt

Вот результат: введите сюда описание изображения


Ответы (0 шт):