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

Откуда:
Сообщений: 24
День добрый!
select case when (select col1 from tab1) is null then 'null' else col1 end

В условии case делаю запрос, хотелось бы его результат получить в ветке else, так чтобы снова запрос не делать.
Спасибо.
5 авг 13, 16:02    [14664970]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
select 
case 
  when col1 is NULL
    then 'NULL'
 else col1
from tabl
5 авг 13, 16:04    [14664982]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
selecy ISNULL(col1, 'NULL') from tabl
5 авг 13, 16:04    [14664989]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
ilya80let,
сделайте джойн подзапроса и используйте уже присоединенное множество в case
5 авг 13, 16:05    [14664996]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Мистер Хенки
ilya80let,
сделайте джойн подзапроса и используйте уже присоединенное множество в case

для выборки из 1 таблицы ? Не много чести ли джойн делать ?
5 авг 13, 16:11    [14665023]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Maxx
Мистер Хенки
ilya80let,
сделайте джойн подзапроса и используйте уже присоединенное множество в case

для выборки из 1 таблицы ? Не много чести ли джойн делать ?

полагаю, пример с case вырван из большого запроса
5 авг 13, 16:15    [14665042]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
ilya80let
Member

Откуда:
Сообщений: 24
Да запрос вырван из большого.
Вместо 'Null' вложено еще 2 Case.
Такое можно реализовать ?
select isnull(select col1 from tab1, select col1 from tab2)

Значение Null возвращается редко <1%
5 авг 13, 16:43    [14665197]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then  [new]
ilya80let
Member

Откуда:
Сообщений: 24
Такое можно реализовать ?
select isnull(select col1 from tab1, select col1 from tab2)



Все получилось спасибо за участие
5 авг 13, 16:48    [14665230]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить