компьютеры с определёнными обновлениями и без них

По работе пришлось создать два кастомных отчёта: компьютеры с определёнными установленными обновлениями и определённым именем и компьютеры без установленных обновлений. Обычно в таких случаях используются стандартные отчёты, но у нас эти обновления были установлены через пакеты, а объявления позже были удалены, что делало невозможным поиск этой информации в обычных отчётах.

Давно не брал я в руки шашек.:)

SELECT DISTINCT TOP (100) PERCENT dbo.v_R_System.Netbios_Name0
FROM dbo.v_R_System INNER JOIN
dbo.v_GS_QUICK_FIX_ENGINEERING ON dbo.v_R_System.ResourceID = dbo.v_GS_QUICK_FIX_ENGINEERING.ResourceID
WHERE (dbo.v_R_System.Netbios_Name0 LIKE '%PARX0100%' OR
dbo.v_R_System.Netbios_Name0 LIKE '%PARX0602%' OR
dbo.v_R_System.Netbios_Name0 LIKE '%PARX0603%') AND (dbo.v_GS_QUICK_FIX_ENGINEERING.HotFixID0 LIKE '%2427997%' OR
dbo.v_GS_QUICK_FIX_ENGINEERING.HotFixID0 LIKE '%2531912%' OR
dbo.v_GS_QUICK_FIX_ENGINEERING.HotFixID0 LIKE '%2521923%' OR
dbo.v_GS_QUICK_FIX_ENGINEERING.HotFixID0 LIKE '%2577550%' OR
dbo.v_GS_QUICK_FIX_ENGINEERING.HotFixID0 LIKE '%2706168%')
ORDER BY dbo.v_R_System.Netbios_Name0
SELECT DISTINCT TOP (100) PERCENT Netbios_Name0
FROM dbo.v_R_System
WHERE (Netbios_Name0 NOT IN
(SELECT v_R_System_1.Netbios_Name0
FROM dbo.v_R_System AS v_R_System_1 INNER JOIN
dbo.v_GS_QUICK_FIX_ENGINEERING AS v_GS_QUICK_FIX_ENGINEERING_1 ON
v_R_System_1.ResourceID = v_GS_QUICK_FIX_ENGINEERING_1.ResourceID
WHERE (v_GS_QUICK_FIX_ENGINEERING_1.HotFixID0 LIKE '%2427997%') OR
(v_GS_QUICK_FIX_ENGINEERING_1.HotFixID0 LIKE '%2521923%') OR
(v_GS_QUICK_FIX_ENGINEERING_1.HotFixID0 LIKE '%2577550%') OR
(v_GS_QUICK_FIX_ENGINEERING_1.HotFixID0 LIKE '%2706168%') OR
(v_GS_QUICK_FIX_ENGINEERING_1.HotFixID0 LIKE '%2531912%'))) AND (Netbios_Name0 LIKE '%PARX0100%' OR
Netbios_Name0 LIKE '%PARX0101%' OR
Netbios_Name0 LIKE '%PARX0603%')
ORDER BY Netbios_Name0

Leave a Reply