繁体   English   中英

如何从SQL中为Lansweeper的报表中排除一组项目

[英]How to exclude a group of items from a report in SQL for Lansweeper

我有一个SQL查询,它运行未经授权的软件报告。 我想从报告中排除一些计算机,我创建了一个包含需要免除的计算机的组。 我无法将where not命令与其他变量一起使用。 我对SQL很绿,所以这可能很简单,但我无法弄清楚我的语法有什么问题。

我想要排除的组名是“测试”。 如果没有not命令,它将仅显示组中的计算机。 因此小组工作我只需要它做反向,只显示小组中没有的内容。

Select Top 1000000 tblAssets.AssetID,
  tblAssets.AssetUnique,
  tblAssets.Description,
  tblSoftwareUni.softwareName As Software,
  tblSoftware.softwareVersion As Version,
  tblSoftware.Lastchanged,
  tsysOS.Image As icon,
  tblAssetGroups.AssetGroup
From tblSoftware
  Inner Join tblAssets On tblSoftware.AssetID = tblAssets.AssetID
  Inner Join tblSoftwareUni On tblSoftware.softID = tblSoftwareUni.SoftID
  Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Inner Join tsysOS On tblAssets.OScode = tsysOS.OScode
  Inner Join tblAssetGroupLink On tblAssets.AssetID = tblAssetGroupLink.AssetID
  Inner Join tblAssetGroups On tblAssetGroups.AssetGroupID =
    tblAssetGroupLink.AssetGroupID
Where Not tblAssetGroups.AssetGroup = 'Noah Test' And tblSoftwareUni.Approved =
  2 And tblAssetCustom.State = 1
Order By tblAssets.AssetName,
  Software

对于此操作,您可以使用LIKE关键字。 除非,你所指出的,我们需要的NOT

所以,

Select Top 1000000 tblAssets.AssetID,
  tblAssets.AssetUnique,
  tblAssets.Description,
  tblSoftwareUni.softwareName As Software,
  tblSoftware.softwareVersion As Version,
  tblSoftware.Lastchanged,
  tsysOS.Image As icon,
  tblAssetGroups.AssetGroup
From tblSoftware
  Inner Join tblAssets On tblSoftware.AssetID = tblAssets.AssetID
  Inner Join tblSoftwareUni On tblSoftware.softID = tblSoftwareUni.SoftID
  Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Inner Join tsysOS On tblAssets.OScode = tsysOS.OScode
  Inner Join tblAssetGroupLink On tblAssets.AssetID = tblAssetGroupLink.AssetID
  Inner Join tblAssetGroups On tblAssetGroups.AssetGroupID =
    tblAssetGroupLink.AssetGroupID
Where tblAssetGroups.AssetGroup NOT LIKE '%Noah Test%' And tblSoftwareUni.Approved =
  2 And tblAssetCustom.State = 1
Order By tblAssets.AssetName,
  Software

如果文本总是只是Noah Test ,你可以使用NOT EQUALS ,它是用!=<>评估的

Select Top 1000000 tblAssets.AssetID,
  tblAssets.AssetUnique,
  tblAssets.Description,
  tblSoftwareUni.softwareName As Software,
  tblSoftware.softwareVersion As Version,
  tblSoftware.Lastchanged,
  tsysOS.Image As icon,
  tblAssetGroups.AssetGroup
From tblSoftware
  Inner Join tblAssets On tblSoftware.AssetID = tblAssets.AssetID
  Inner Join tblSoftwareUni On tblSoftware.softID = tblSoftwareUni.SoftID
  Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Inner Join tsysOS On tblAssets.OScode = tsysOS.OScode
  Inner Join tblAssetGroupLink On tblAssets.AssetID = tblAssetGroupLink.AssetID
  Inner Join tblAssetGroups On tblAssetGroups.AssetGroupID =
    tblAssetGroupLink.AssetGroupID
Where tblAssetGroups.AssetGroup != 'Noah Test' And tblSoftwareUni.Approved =
  2 And tblAssetCustom.State = 1
Order By tblAssets.AssetName,
  Software

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM