我获得了一个由我们的全球IT小组运行的SQL脚本,用于生成他们想要的每月WSUS报告。但是,它会返回WSUS中的所有内容,而不仅仅是过去几个月的信息。我正在寻找帮助修改我给出的脚本来过滤掉所有以前的日期。该报告在每个月的5日运行,并在上个月报告(Decembers报告将在1月5日运行)。我对SQL脚本的了解非常基础,所以我要求那些经验丰富的人提供帮助。请参阅下面的原始脚本:
SELECT comTarget.[Name]
,infoBasic.State
,[update].SecurityBulletin
,[update].KnowledgebaseArticle
,[update].DefaultTitle
,[update].ArrivalDate
,[update].MsrcSeverity
,'Installed'=
CASE
WHEN infoBasic.State = 4 THEN 'Installed'
WHEN infoBasic.State = 2 THEN 'NotInstalled'
WHEN infoBasic.State = 3 THEN 'Needed'
END
FROM [SUSDB].[PUBLIC_VIEWS].[vComputerTarget] comTarget
JOIN [SUSDB].PUBLIC_VIEWS.vUpdateInstallationInfoBasic infoBasic on comTarget.ComputerTargetId = infoBasic.ComputerTargetId
JOIN [SUSDB].PUBLIC_VIEWS.vUpdate [update] on infoBasic.UpdateId = [update].updateid
Order by Name, SecurityBulletin, KnowledgebaseArticle
答案 0 :(得分:0)
我在StackOverflow上的另一篇文章中找到了我的问题的答案。我正在链接该文章以供参考link。
我必须在最后的JOIN之后添加以下代码行:
WHERE DATEDIFF(mm,[update].ArrivalDate, GETDATE())=1