WSUS SQL查询 - 按ArrivalDate排序

时间:2018-01-04 19:34:01

标签: sql-server-2008 datefilter

我获得了一个由我们的全球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

1 个答案:

答案 0 :(得分:0)

我在StackOverflow上的另一篇文章中找到了我的问题的答案。我正在链接该文章以供参考link

我必须在最后的JOIN之后添加以下代码行:

 WHERE DATEDIFF(mm,[update].ArrivalDate, GETDATE())=1