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

Откуда:
Сообщений: 220
select filial, sum(decode(filial,'009',summa)) as nash, sum(summa) as vse

Так писал в Оракле как это можно сделать в MSSQL?
Функция работает в составе Selecta.
Функция работает в моём примере так. Читает строку с полем filial если оно равно на '009' то суммирует поле summa и пишет на поле nash а на поле vse пишет общую сумму.
Пример.

filial | nash | vse |
______________________________
009 | 21000.00 | 36000.00 |
12 июн 15, 07:07    [17763239]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
petre
Member

Откуда: Кривой Рог
Сообщений: 42
Rustam Ergashev,

select filial, sum(case when filial='009' then summa else 0 end) as nash, sum(summa) as vse
12 июн 15, 08:07    [17763255]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4893
petre
Rustam Ergashev,

select filial, sum(case when filial='009' then summa else 0 end) as nash, sum(summa) as vse


уж лучше так
select filial, sum(case filial when '009' then summa end) as nash, sum(summa) as vse


и зачем напрягать процессор 0 суммировать
15 июн 15, 10:17    [17770865]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
a_voronin
petre
Rustam Ergashev,

select filial, sum(case when filial='009' then summa else 0 end) as nash, sum(summa) as vse



уж лучше так
select filial, sum(case filial when '009' then summa end) as nash, sum(summa) as vse



и зачем напрягать процессор 0 суммировать
Типа NULL суммировать проще :))
А ничего, что теперь будет появляться сообщение о проигнорированном NULL в агрегатной функции?
15 июн 15, 10:20    [17770886]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4893
iap
А ничего, что теперь будет появляться сообщение о проигнорированном NULL в агрегатной функции?


Лично мне оно монопенесуально. Желающие могут

set ansi_warnings off


Давайте проведём мегатестирование, что быстрее. У нас разве уже не было холивара на эту тему?
15 июн 15, 10:23    [17770906]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
Glory
Member

Откуда:
Сообщений: 104751
a_voronin
Желающие могут

set ansi_warnings off

Ага и получить другие сообщения

a_voronin
У нас разве уже не было холивара на эту тему?

Вот и идите в ту тему
15 июн 15, 10:33    [17770944]     Ответить | Цитировать Сообщить модератору
 Re: Decode пример  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
a_voronin
Давайте проведём мегатестирование, что быстрее. У нас разве уже не было холивара на эту тему?
Вас уже тыкали носом - 16666455
Очевидно не помогло
15 июн 15, 10:41    [17770977]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить