Форум: "Начинающим";
Текущий архив: 2011.07.31;
Скачать: [xml.tar.bz2];
ВнизTSQL вычитание NULLa Найти похожие ветки
← →
DelphiN! (2011-04-14 12:02) [0]Доброго времени суток!
Помогите решить проблему, есть таблица
TABLE1
VALUE_ TYPE_
1 T1
2 T2
И запрос
select sum(value_)
-
(select sum(value_) from table1 where type_ = "T3")
from table1 where (type_ = "T1")or(type_ = "T2")
Результат запроса - NULL, как сделать чтобы он был равен 3 ((1+2)-0)?
← →
DelphiN! (2011-04-14 12:21) [1]Нашел решение,
select sum(value_)
-
COALESCE((select sum(value_) from table1 where type_ = "T3"),0)
from table1 where (type_ = "T1")or(type_ = "T2")
всем спасибо
← →
Sergey13 © (2011-04-14 12:22) [2]ISNULL?
← →
turbouser © (2011-04-14 12:34) [3]Какой нафиг TSQL в FB??
← →
DelphiN! (2011-04-14 12:37) [4]
> turbouser © (14.04.11 12:34) [3]
опшибся, сорри )
← →
Кщд (2011-04-15 06:32) [5]>DelphiN! (14.04.11 12:02)
лучше за один проход:
select coalesce(
case t.type_
when "T3" then - t.value_
else t.value_
end,
0
)
from table1 t where t.type_ in ("T1", "T2", "T3")
← →
Anatoly Podgoretsky © (2011-04-15 15:32) [6]
> TSQL вычитание NULLa [FireBird 2.1.1]
А где вычитание в приведеном коде
← →
Palladin © (2011-04-15 15:49) [7]Поле, которому разрешено быть null, конечно может учавствовать в вычислениях. Но сам по себе null уже говорит о том что значения НЕТ, а если значения нет, то и результатов вычисления НЕТ. Или убирай null и заменяй по человечески нулем, или уж прими null в результатах.
← →
KSergey © (2011-04-18 15:55) [8]добавить
where value_ is not null
← →
shpigel © (2011-04-19 18:26) [9]добавь ISNULL перед операцией SUM. т.е.:
select sum(ISNULL(value_ , 0))
-
(select sum(ISNULL(value_ , 0)) from table1 where type_ = "T3")
from table1 where (type_ = "T1")or(type_ = "T2")
← →
Кщд (2011-04-25 07:12) [10]>shpigel © (19.04.11 18:26) [9]
решение уже было дано
но раз уж так неймется, то что будет, если этот запрос:
select sum(ISNULL(value_ , 0)) from table1 where type_ = "T3"
возвращает 0 записей?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c