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

Откуда: Ukrainia
Сообщений: 615
На такое sum(isnull(gencaused, 0)) - ругается!
29 мар 04, 15:48    [602193]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Матом ?
29 мар 04, 15:49    [602195]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Yola
Member

Откуда: Ukrainia
Сообщений: 615
Incorrect syntax near 'sum'
29 мар 04, 15:51    [602204]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
А теперь сам текст запроса.
29 мар 04, 15:52    [602205]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Yola
Member

Откуда: Ukrainia
Сообщений: 615
та не, работает:), проверил другим запросом
29 мар 04, 15:52    [602208]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Green2
Member

Откуда: skype: green2x2
Сообщений: 13748
SELECT     SUM(grafs) AS Expr1

FROM acc_grafs
HAVING (SUM(grafs) IS NOT NULL)
29 мар 04, 15:54    [602214]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
автор
та не, работает:), проверил другим запросом

И всё-таки, запрос в студию...
29 мар 04, 15:54    [602218]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Green2
Member

Откуда: skype: green2x2
Сообщений: 13748
Извините,

SELECT     SUM(grafs) AS Expr1

FROM acc_grafs
WHERE (grafs IS NOT NULL)
29 мар 04, 15:55    [602225]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Yola
Member

Откуда: Ukrainia
Сообщений: 615
не думаю что от этого кому-то будет легче:)
автор
set dateformat dmy (select sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where main_id in (select _id from main where 1=1 and srvc_id = 4) and addition._id in (select max(_id) max_id from addition group by main_id) and title = 'Мінування колії та споруд' and dateadded between '1/6/2003' and '1/11/2003' ) union all (select sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН1' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' ) union all sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН2' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' ) union all sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН3' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' ) union all sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН4' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' )
29 мар 04, 15:56    [602230]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Yola
Member

Откуда: Ukrainia
Сообщений: 615
2tpg, полегчало?
29 мар 04, 15:58    [602240]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
GUSIK
Member

Откуда: Азербайджан
Сообщений: 2
SUM
Returns the sum of all the values, or only the DISTINCT values, in the expression. SUM can be used with numeric columns only. Null values are ignored.
29 мар 04, 15:58    [602242]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
Yola
Member

Откуда: Ukrainia
Сообщений: 615
На самом деле там 5 запросов объединенные юнионами, один общий и 4 с параметрами.
29 мар 04, 15:59    [602245]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
rst
Member

Откуда: Йобурк
Сообщений: 1005
синтаксис поправил.
смысл не пытался понять..
  set dateformat dmy

select sum(isnull(gencaused, 0))
from addition inner join
incidentkind on incidentkind_id = incidentkind._id
where main_id in
(select _id from main where 1=1 and srvc_id = 4)
and addition._id in
(select max(_id) max_id from addition group by main_id)
and title = 'Мінування колії та споруд'
and dateadded between '1/6/2003' and '1/11/2003'
union all select sum(isnull(gencaused, 0))
from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН1' and srvc_id = 4) group by main_id)
and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' union all select sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН2' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' union all
select sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН3' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003' union all select sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where addition._id in (select max(_id) max_id from addition where main_id in (select main._id from main inner join managements on man_id = managements._id where abbr = 'ДН4' and srvc_id = 4) group by main_id) and title = 'Мінування вокзалів, службовотехнічних будівель' and dateadded between '1/6/2003' and '1/11/2003'
29 мар 04, 16:02    [602253]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
GUSIK
Member

Откуда: Азербайджан
Сообщений: 2
Может так нужно?
isnull(sum(gencaused),0)
29 мар 04, 16:02    [602254]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
автор
2tpg, полегчало?

Угу...
автор
Incorrect syntax near 'sum'

А вот тут, в 7 строке приведенного скрипта
and '1/11/2003' ) union all sum(isnull(gencaused, 0)) from addition inner join incidentkind on incidentkind_id = incidentkind._id where 

апосля union all перед sum не мешало бы select поставить...
Внимательней надо быть, товарисчь...
29 мар 04, 16:32    [602354]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Кстати, таких мест я насчитал 3 штука...
29 мар 04, 16:42    [602376]     Ответить | Цитировать Сообщить модератору
 Re: Как посчитать сумму с нулами?  [new]
rst
Member

Откуда: Йобурк
Сообщений: 1005
а я 8-10 :)
29 мар 04, 16:43    [602383]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить