Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объединить несколько запросов в один  [new]
HFShak
Member

Откуда:
Сообщений: 29
Добрый день!

Народ, помогите написать отчет, так чтобы объядинить несколько запросов в одну таблицу

select
SYS.Netbios_Name0 as ComputerName,
count(SF.FileName) as AVI
From
v_GS_SoftwareFile SF
join v_R_System SYS on SYS.ResourceID = SF.ResourceID
Where
SF.FileName like '%.avi%'
group by
SYS.Netbios_Name0
ORDER BY
SYS.Netbios_Name0
-------------------------------------------------------------------------------
select
SYS.Netbios_Name0 as ComputerName,
count(SF.FileName) as AVI
From
v_GS_SoftwareFile SF
join v_R_System SYS on SYS.ResourceID = SF.ResourceID
Where
SF.FileName like '%.jpg%'
group by
SYS.Netbios_Name0
ORDER BY
SYS.Netbios_Name0
-------------------------------------------------------------------------------
select
SYS.Netbios_Name0 as ComputerName,
count(SF.FileName) as AVI
From
v_GS_SoftwareFile SF
join v_R_System SYS on SYS.ResourceID = SF.ResourceID
Where
SF.FileName like '%.mp3%'
group by
SYS.Netbios_Name0
ORDER BY
SYS.Netbios_Name0


Так, чтобы таблица выглядела так:
Картинка с другого сайта.
30 ноя 12, 10:24    [13554144]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
Добрый Э - Эх
Guest
Для начала посмотри вот эту тему...
30 ноя 12, 10:35    [13554184]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
HFShak,

select
 SYS.Netbios_Name0 as ComputerName,
 COUNT(CASE WHEN SF.FileName like '%.avi%' THEN 1 ELSE 0 END) AS as AVI,
 COUNT(CASE WHEN SF.FileName like '%.jpg%' THEN 1 ELSE 0 END) AS as JPG,
 COUNT(CASE WHEN SF.FileName like '%.mp3%' THEN 1 ELSE 0 END) AS as MP3 
From
 v_GS_SoftwareFile SF
 join v_R_System SYS on SYS.ResourceID = SF.ResourceID
group by
 SYS.Netbios_Name0
ORDER BY
 SYS.Netbios_Name0


или даже так: ('%.avi' )
 select
 SYS.Netbios_Name0 as ComputerName,
 COUNT(CASE WHEN SF.FileName like '%.avi' THEN 1 ELSE 0 END) AS as AVI,
 COUNT(CASE WHEN SF.FileName like '%.jpg' THEN 1 ELSE 0 END) AS as JPG,
 COUNT(CASE WHEN SF.FileName like '%.mp3' THEN 1 ELSE 0 END) AS as MP3 
From
 v_GS_SoftwareFile SF
 join v_R_System SYS on SYS.ResourceID = SF.ResourceID
group by
 SYS.Netbios_Name0
ORDER BY
 SYS.Netbios_Name0
30 ноя 12, 12:42    [13555139]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
HFShak
Member

Откуда:
Сообщений: 29
trew,

пишет ошибку....
Картинка с другого сайта.
30 ноя 12, 13:21    [13555465]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21502
Вы MS SQL от MySQL отличаете?
А то, что два раза подряд AS написано - видите?
30 ноя 12, 13:25    [13555511]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
HFShak
Member

Откуда:
Сообщений: 29
Akina,
Извиняюсь, не в том разделе создал топик....

Вижу два AS, но регистр разный, я думал это что-то значит)
Если убрать AS , то счетчик везде одинаковый
Картинка с другого сайта.

Модератор, просьба перенести тему в раздел Microsoft SQL Server

Модератор: Тема перенесена из форума "MySQL".


Сообщение было отредактировано: 30 ноя 12, 13:59
30 ноя 12, 13:39    [13555661]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
Гость333
Member

Откуда:
Сообщений: 3683
HFShak,

Замените COUNT на SUM.
30 ноя 12, 14:05    [13555869]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
Добрый Э - Эх
Guest
Гость333
HFShak,

Замените COUNT на SUM.
Либо выкинь секцию else 0 из CASE
30 ноя 12, 14:08    [13555895]     Ответить | Цитировать Сообщить модератору
 Re: Объединить несколько запросов в один  [new]
HFShak
Member

Откуда:
Сообщений: 29
Добрый Э - Эх,

Спасибо, все работает!
30 ноя 12, 15:01    [13556397]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить