Ниже приведен запрос, который я написал для получения статуса соответствия исправления.
select
vUI.Title As 'Title',
vui.ArticleID,
CASE
WHEN vsn.StateID = 0 or vsn.StateID = 1 or vsn.StateID = 2 THEN --'No Status'
count(vRSV.Netbios_Name0)
END As 'No Status',
CASE
WHEN vsn.StateID = 3 or vsn.StateID = 4 or vsn.StateID = 5 or vsn.StateID = 7 or vsn.StateID = 8 or vsn.StateID = 12 or vsn.StateID = 14 THEN --'In Progress'
count(vRSV.Netbios_Name0)
end as 'In Progress',
Case
WHEN vsn.StateID = 6 or vsn.StateID = 11 or vsn.StateID = 14 THEN --'Failed'
count(vRSV.Netbios_Name0)
End as 'Failed',
Case
WHEN vsn.StateID = 9 or vsn.StateID = 10 THEN --'Success'
count(vRSV.Netbios_Name0)
--ELSE 'Not Installed'
END As Success
from v_UpdateComplianceStatus vUCS
join v_UpdateInfo vUI
on vUCS.CI_ID=vUI.CI_ID
join v_R_System_Valid vRSV on vUCS.ResourceId=vRSV.resourceid
inner join v_FullCollectionMembership_Valid vFCMV
on vUCS.ResourceId=vFCMV.ResourceID
and vFCMV.CollectionID='CB00123'
join v_GS_OPERATING_SYSTEM vGOS
on vUCS.ResourceID = vGOS.ResourceID
join v_StateNames vSN
on vUCS.LastEnforcementMessageID = vSN.StateID and (vSN.TopicType=402 or vSN.TopicType=500 or vSN.TopicType=400)
where vui.DateLastModified between '2019-09-12' and '2019-10-12'
group by vUI.Title,vui.ArticleID, vsn.StateID
Я ожидал вывод, как показано ниже.
ArticleID No Status In Progress Failed Success
4516033 NULL 8 102 2149
Но вывод идет, как показано ниже.
ArticleID No Status In Progress Failed Success
4516033 NULL NULL 25 NULL
4516033 NULL NULL NULL 253
4516033 NULL NULL NULL 1896
4516033 NULL NULL 69 NULL
4516033 NULL 8 8 NULL
Любой совет, что я здесь не так делаю?