我想在SCCM创建一个自定义报告,它会告诉我,如果一个特定的KB安装在服务器池,并返回一个二进制的答案(在这种情况下,是或否)。SCCM报告返回服务器上的KB状态
我的问题是,我不能让它只返回一个KB的状态。我正在此:
SELECT
SYS.Name0 'Computer',
SYS.operatingSystem0 'OS',
UIN.Title 'Update',
CASE
WHEN UIN.Title LIKE '%KB3092627%' THEN 'Yes'
ELSE 'No'
END 'KB Installed'
FROM v_R_System SYS
INNER JOIN v_UpdateComplianceStatus UCS ON SYS.ResourceID = UCS.ResourceID
INNER JOIN v_UpdateInfo UIN ON UCS.CI_ID = UIN.CI_ID
WHERE SYS.operatingSystem0 LIKE '%Server 2008%'
ORDER BY SYS.Name0
,但我得到数百个结果的每个SYS.Name0
,一个为每个检测到的更新。更新所有记录其中的arent所需KB有'No'
为KB Installed
的值,但他们仍然列。我试图SELECT DISTINCT
看看它是否给我不同的结果,但它不。
我想要的是,以确定是否KB存在,并且返回是否是与否。我觉得我甚至没有问这个代码的“安装与否”这个基本问题,但我想不出以不同的方式提出这种问题。这是我应该在报表生成器而不是查询中做的事情吗?
这是做的,非常感谢你!我在这个问题上绝对停滞不前。 – Eric
在这种情况下,使用SELECT DISTINCT问题还是只选择SELECT?就像那样会改变CASE语句的输出呢? – Eric
这意味着每个's1.Name0'值只出现一次(而实际上每个值可能出现在'v_R_System'表多次),这是你想要的。尝试从查询中删除“DISTINCT”,看看你得到了什么结果。 :) – 3N1GM4