SQL 安装的程序计数未正确返回



我正在尝试获取服务器和客户端上安装的每个软件的计数。当我运行第一个查询时,我返回了 4000 多行。

SELECT a.DisplayName0,c.Name0 FROM v_GS_ADD_REMOVE_PROGRAMS a, v_R_System c 
WHERE  A.DisplayName0 NOT LIKE 'hotfix for%'
AND A.DisplayName0 LIKE 'CCC Help Norwegian%'
GROUP BY c.Name0, A.DisplayName0
ORDER BY c.Name0

当我运行此查询以便我只能获取计数而不显示每个客户端名称时,当它应该超过 4000 时,它只有 25 的计数。

SELECT COUNT(*), a.DisplayName0,c.Name0 FROM v_GS_ADD_REMOVE_PROGRAMS a, v_R_System c 
WHERE  A.DisplayName0 NOT LIKE 'hotfix for%'
AND A.DisplayName0 LIKE 'CCC Help Norwegian%'
GROUP BY c.Name0, A.DisplayName0
ORDER BY c.Name0

知道可能出了什么问题吗?蒂亚

您似乎正在交叉连接两个表。 您可能需要使用内部联接。我不知道两个表中的公共列是什么,但您的解决方案最终将如下所示:

SELECT COUNT(*), a.DisplayName0,c.Name0 
FROM v_GS_ADD_REMOVE_PROGRAMS a
INNER JOIN v_R_System c 
     ON c.<some column> = a.<some column>
WHERE  A.DisplayName0 NOT LIKE 'hotfix for%'
AND A.DisplayName0 LIKE 'CCC Help Norwegian%'
GROUP BY c.Name0, A.DisplayName0
ORDER BY c.Name0

最新更新