У меня есть таблица с записями, которые показывают шаги процесса:
Status | ModelID
-------------------------
Set Remote | 1
Train | 1
Trained | 1
Enabled | 1
Set Local | 2
Train | 2
Trained | 2
Enabled | 2
Set Upload | 3
Train | 3
Trained | 3
Set Remote | 4
Train | 4
Trained | 4
Enabled | 4
И я хочу получить следующий результат
Status | CountTrained | CountEnabled
-------------------------------------------------
Set Remote | 2 | 2
Set Local | 1 | 1
Set Upload | 1 | 0
Я пробовал следующий запрос
select
sum(case when status = 'Set Local' then 1 else 0 end),
sum(case when status = 'Set Remote' then 1 else 0 end),
sum(case when status = 'Set Upload' then 1 else 0 end)
from TABLE
inner join (select
distinct ModelId,
status as ModelStatus
from TABLE
where (status = 'Trained' or status = 'Enabled')) as Model
on Model.ModelId = TABLE.ModelId
Но этот запрос не возвращает нужные мне результаты.
Есть предложения о том, как мне достичь ожидаемых результатов?