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

Откуда:
Сообщений: 5
Добрый день!
Есть таблица с полями Id, Интервал дат
107 '1 год'
115 '10 лет'
100 'не определено'

Как сделать так, чтобы запрос выводил Id значение не определено, если в переменной указан интервал, которого нет в таблице
DECLARE @Interval VARCHAR(255) = '7 лет'

То вывелся бы результат
Id
100
SELECT (isnull(min(Id),100)) SELECT table WHERE Interval=@Interval
- этот запрос не выдаёт ничего, что в нём неверно?
11 апр 17, 13:01    [20388945]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
o-o
Guest
самому прилепить желаемое через union all
с условием на ненахождение строк
11 апр 17, 13:05    [20388980]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Сделать ХП ?
11 апр 17, 13:10    [20389018]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
o-o
Guest
LSV, лучше 10 ХП
declare @t table (id int, interval nvarchar(100));
insert into @t values
(107, N'1 год'),
(115, N'10 лет'),
(100, N'не определено')

DECLARE @Interval VARCHAR(255) = N'7 лет'

SELECT *
from @t 
WHERE Interval=@Interval

union all 

select *
from @t 
where interval = N'не определено'
and not exists(select * from @t where Interval=@Interval);
11 апр 17, 13:13    [20389041]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
o-o,
автор
LSV, лучше 10 ХП
и в курсор обернуть :)
11 апр 17, 13:17    [20389065]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
Wlr-l
Member

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

SELECT isnull((SELECT min(Id) from [table] WHERE Interval=@Interval),100)
11 апр 17, 13:41    [20389244]     Ответить | Цитировать Сообщить модератору
 Re: Вывод определённого значения, если в таблице нет значений по поиску  [new]
ElVencedor
Member

Откуда:
Сообщений: 5
Wlr-l, Спасибо! Всё получилось!
11 апр 17, 15:37    [20389956]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить