|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - [Правка] Отчёт SQL |
|
MSFT SQL Server - [Правка] Отчёт SQL
|
Старожил Сообщения: 290 |
Доброго времени суток всем.
Использую SMS 2007 для развёртывания ПО. Использовал отчёт для поиска всех машин, на которых установлен NOD 32. Теперь задача стала в обратном — найти все машины, на которых он не установлен. Вот сам отчёт, который находит машины, на которых есть NOD32 SELECT TOP (100) PERCENT dbo.v_R_System.Name0 AS [Computer name], dbo.v_R_System.User_Name0 AS [User name], dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 AS [ESET NOD32 Antivirus] FROM dbo.v_R_System INNER JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS ON dbo.v_R_System.ResourceID = dbo.v_GS_ADD_REMOVE_PROGRAMS.ResourceID WHERE (dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 = 'ESET NOD32 Antivirus') ORDER BY [Computer name] |
|
Отправлено: 13:48, 19-01-2012 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Здесь поможет другой запрос, точнее 2 подзапроса в одном. Сейчас попробую написать в блокноте и выложить.
SELECT TOP (100) PERCENT dbo.v_R_System.Name0 AS [Computer name], dbo.v_R_System.User_Name0 AS [User name], dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 AS [ESET NOD32 Antivirus] FROM dbo.v_R_System INNER JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS ON dbo.v_R_System.ResourceID = dbo.v_GS_ADD_REMOVE_PROGRAMS.ResourceID WHERE [Computer name] not in ( SELECT TOP (100) PERCENT dbo.v_R_System.Name0 AS [Computer name], FROM dbo.v_R_System INNER JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS ON dbo.v_R_System.ResourceID = dbo.v_GS_ADD_REMOVE_PROGRAMS.ResourceID WHERE dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 = 'ESET NOD32 Antivirus' ORDER BY [Computer name] ) ORDER BY [Computer name] Для ускорения работы запроса, если в таблице есть ID, лучше подзапрос написать так: WHERE dbo.v_R_System.ID not in ( SELECT TOP (100) PERCENT dbo.v_R_System.ID AS [Computer name], FROM dbo.v_R_System INNER JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS ON dbo.v_R_System.ResourceID = dbo.v_GS_ADD_REMOVE_PROGRAMS.ResourceID WHERE dbo.v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 = 'ESET NOD32 Antivirus' ORDER BY [Computer name] ) |
------- Отправлено: 14:13, 19-01-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - [Правка] Отчёт SQL | clin | Windows Server 2008/2008 R2 | 2 | 20-01-2012 01:22 | |
Установка - Правка загрузчика | Vienna7 | Хочу все знать | 2 | 09-05-2011 09:08 | |
Разное - правка реестра | mikola1983 | Программирование и базы данных | 2 | 16-12-2007 03:19 | |
Отчёт о загрузке на ТС | Butunin Klim | Microsoft Windows NT/2000/2003 | 1 | 10-07-2006 13:45 | |
Правка скрипта | Rudy | Вебмастеру | 7 | 24-10-2005 15:58 |
|