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

Откуда:
Сообщений: 73
прошу прощения, если вопрос слишком прост для данного форума, но своя голова не варит, то ли из-за погоды, то ли по жизни я тупой.

итак, есть запрос, если убрать и него воду, то основа будет выглядеть так:

Select [Наименование партнера],
(
(select sum(d1.Сумма) from Доукменты as d1
where d1.[влияние на долг] = 'Плюс'
and d1.[Код партнера] = Партнеры.[код партнера])
-
(select sum(d2.Сумма) from Доукменты as d2
where d2.[влияние на долг] = 'Минус'
and d2.[Код партнера] = Партнеры.[код партнера])
) as Dolg

From Партнеры

Так вот, если один из внутренних селектов возвращает Null, то и результат их арифметического вычитания тоже получается равен Null, даже если во втором селекте есть нормальное значение.

Вопрос: как сделать так, чтобы внутренний подселект возвращал 0, если в результате получился Null, чтобы не сбивать мне вычисления?
7 авг 12, 12:15    [12974150]     Ответить | Цитировать Сообщить модератору
 Re: исключить Null или вопрос чайника  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
isnull()
7 авг 12, 12:16    [12974162]     Ответить | Цитировать Сообщить модератору
 Re: исключить Null или вопрос чайника  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
оберните ISNULL
7 авг 12, 12:17    [12974166]     Ответить | Цитировать Сообщить модератору
 Re: исключить Null или вопрос чайника  [new]
igel1969
Member

Откуда:
Сообщений: 73
все, спасибо, точно !!!!!!!!
isnull('запрос', 0)
7 авг 12, 12:19    [12974188]     Ответить | Цитировать Сообщить модератору
 Re: исключить Null или вопрос чайника  [new]
Glory
Member

Откуда:
Сообщений: 104751
select sum(CASE WHEN d1.[влияние на долг] = 'Плюс' THEN d1.Сумма WHEN d1.[влияние на долг] = 'Минус' THEN -d1.Сумма END) 
from Доукменты as d1
WHERE d1.[Код партнера] = Партнеры.[код партнера])
7 авг 12, 12:40    [12974378]     Ответить | Цитировать Сообщить модератору
 Re: исключить Null или вопрос чайника  [new]
igel1969
Member

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

кстати, да, это должно в два раза ускорить выполнение запроса! попробую
7 авг 12, 14:29    [12975426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить