【发布时间】:2022-12-29 00:41:08
【问题描述】:
我正在使用 Lansweeper 部署 CrowdStrike Windows 传感器,但首先我需要获取所有未安装 CrowdStrike 的机器的列表。我正在 Lansweeper 中创建自定义 SQL 报告以帮助生成我的结果。但我的问题是我无法获得那些确切的机器,它只会生成安装的所有其他应用程序和所有机器。
这是我到目前为止所拥有的:
SELECT DISTINCT
tblassets.assetID,
tblassets.AssetName,
tblsoftwareUni.softwareName,
tblSoftwareUni.SoftID
FROM tblAssets
Left Join tblSoftware On tblassets.AssetID = tblSoftware.AssetID
Left Join tblSoftwareUni on tblSoftware.softID = tblSoftwareUni.SoftID
Left Join tblAssetCustom On tblassets.AssetID = tblAssetCustom.AssetID,
tblDomainroles
WHERE tblDomainroles.Domainrolename = 'Member workstation'
AND tblAssetCustom.State = 1
AND tblSoftwareUni.softwareName != 'CrowdStrike Windows Sensor'
ORDER BY tblsoftwareUni.softID, tblassets.AssetName
这会生成安装在每台机器上的每个应用程序,无论是否安装了 CrowdStrike。
我是 SQL 的新手,我知道有一种有效的方法可以执行此类查询,但我想不出一个。我试过使用 EXISTS,但它只生成一个布尔值,然后运行外部查询。我也尝试过使用子查询,但我无法理解这个概念,所以它没有产生我希望的结果。
任何帮助,将不胜感激。谢谢。
【问题讨论】:
标签: sql