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

Откуда:
Сообщений: 6
Выполняю составной запрос к базе. Если запрос не нашёл нужных значений то вообще ничего не выводит, а хотелось бы что бы хотя бы значение 0 появлялось.

SELECT count(*)
From table1 where [name] like ‘Иван’ group by [name] union all
SELECT count(*)
From table1 where [name] like ‘Макс’ group by [name]

После запроса должно появится две ячейки с количеством двух имен
Если он не найдёт хотя бы одно имя то запрос выдаст одно значение или вообще будет пусто. А хотелось бы чтобы запрос быдавал 0, чтобы понять какого именно имени не было
17 сен 18, 13:27    [21676811]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос вернул NULL заменить на 0  [new]
Щукина Анна
Member

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

то, как вы написали - будет работать и без GROUP BY.
Без него сделайте - будут вам нули....
17 сен 18, 13:28    [21676816]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос вернул NULL заменить на 0  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
вообще запрос станноватый, Like именно так как в запросе у вас используется?
если да, то можно упростить все до:

with table1
as (
	select 'test' as name
)
select count(*) 
from table1 
where [name] in ( 'Иван', 'Макс' )
17 сен 18, 13:33    [21676825]     Ответить | Цитировать Сообщить модератору
 Re: Если запрос вернул NULL заменить на 0  [new]
Stalker16
Member

Откуда:
Сообщений: 6
Щукина Анна,

Спасибо, помогло.
17 сен 18, 14:14    [21676891]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить