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

Когда я запускаю этот запрос, чтобы я мог просто получить счетчик и не отображать имя каждого клиента, он имеет счетчик только 25, когда он должен быть больше 4000.

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

Есть идеи, что может быть не так? ТИА

1 ответ

Решение

Похоже, вы перекрестно соединяете два стола. Вы, вероятно, должны будете использовать INNER JOIN. Я не знаю, каков общий столбец в обеих таблицах, но ваше решение будет выглядеть примерно так:

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
Другие вопросы по тегам