【问题标题】:How to retrieve records for all those that don't have a specific application installed如何检索所有未安装特定应用程序的记录
【发布时间】: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


    【解决方案1】:

    不看表结构,有点难回答。

    如果您过滤左联接中的 tblSoftwareUni 以仅包含“CrowdStrike Windows Sensor”,您应该能够使用 where 子句仅在 tblSoftwareUni 表中显示空值。

    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 and tblSoftwareUni.softwareName = 'CrowdStrike Windows Sensor'
            Left Join tblAssetCustom On tblassets.AssetID = tblAssetCustom.AssetID,
            tblDomainroles
        WHERE tblDomainroles.Domainrolename = 'Member workstation' 
            AND tblAssetCustom.State = 1 
            AND tblSoftwareUni.SoftID is null
        ORDER BY tblsoftwareUni.softID, tblassets.AssetName
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多