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

select 1, * from
(
select 1 as col1, 2 as col2 where 5=8
) v

на экран ничего не выводит. Можно-ли как-нибудь вместо этого вывести

1, null, null

Т.е. нуллы там, где должны были-бы быть значения от подзапроса ?
9 ноя 09, 12:51    [7901080]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести null'ы вместо отсутствующей строки  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
select 1, * from
(
select 1 as col1, 2 as col2 where 5=8
union all
select null, null where not exists(select 1 as col1, 2 as col2 where 5=8)
) v
--------------------------------------------------------------
Дьявол кроется в деталях.
9 ноя 09, 12:57    [7901127]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести null'ы вместо отсутствующей строки  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
select 1, vv.* from
(select 1 as col1, 2 as col2) v
left join
(select 1 as col1, 2 as col2) vv
on 5=8
9 ноя 09, 12:58    [7901139]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести null'ы вместо отсутствующей строки  [new]
hey
Guest
Дедушка
select 1, * from
(
select 1 as col1, 2 as col2 where 5=8
union all
select null, null where not exists(select 1 as col1, 2 as col2 where 5=8)
) v


спасибо, я сам такой вариант успел придумать:

select * from
(
select 1 as ID
) a
left join
(
select 1 as col1, 2 as col2 where 5=8
) b on 1=1
9 ноя 09, 13:00    [7901148]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести null'ы вместо отсутствующей строки  [new]
hey
Guest
спасибо всем, сейчас подумаю что лучше в моем случае...
9 ноя 09, 13:01    [7901159]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести null'ы вместо отсутствующей строки  [new]
Anddros
Member

Откуда:
Сообщений: 1077
select 1, col1, col2
from (select 1 t)t
outer apply (select 1 as col1, 2 as col2 where 5=8)tt
9 ноя 09, 13:02    [7901163]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить