Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать значение по умолчанию в пустой выборке / 7 сообщений из 7, страница 1 из 1
10.09.2001, 09:47
    #32013754
AndyMandy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
Есть таблица с настройками: global_variables(name char, data char),
где name - имя настройки, data - значение
В этой таблице находятся переменные которые определяют всякие ограничения,
насройки и пр. Как написать запрос выводящий значение настройки или значени по умолчанию если такой настройки
в таблице нет.
Запросы типа
select IsNULL(data,'Значение по умолчанию')
from global_variables
where name='Последняя дата распределения работ'
возвращают ноль строк, а мне надо 'Значение по умолчанию'

а такой запрос больно уж большой
select case when exists(select data
from global_variables where name='Последняя дата распределения работ') then
(select data from global_variables where name='Последняя дата распределения работ')
else 'Значение по умолчанию' end

Нет ли чего попроще? Может кто подскажет?
...
Рейтинг: 0 / 0
10.09.2001, 09:52
    #32013756
Terol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
в своё время сталкивался с такой проблемой.. ты оформляй это всё в SP а там используй case.

надеюсь помог.
...
Рейтинг: 0 / 0
10.09.2001, 09:56
    #32013757
Terol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
в своё время сталкивался с такой проблемой.. ты оформляй это всё в SP а там используй case.

надеюсь помог.
...
Рейтинг: 0 / 0
10.09.2001, 10:03
    #32013759
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
1.
select data from global_variables where name='Последняя дата распределения работ'
IF @@ROWCOUNT = 0 select 'Значение по умолчанию' AS data

2.
select data from global_variables where name='Последняя дата распределения работ'
UNION ALL
select 'Значение по умолчанию' AS data
...
Рейтинг: 0 / 0
10.09.2001, 10:05
    #32013760
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
2.
SELECT TOP 1 data FROM
(select data from global_variables where name='Последняя дата распределения работ'
UNION ALL
select 'Значение по умолчанию' AS data
) AS tmp1
...
Рейтинг: 0 / 0
10.09.2001, 10:12
    #32013763
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
я так понимаю что нужно только одно значение
select coalesce(max(data),'значение по умолчанию') from global_variables
where name='Последняя дата распределения работ'

еще лучше оформить это в виде функции, ведь наверняка захочется хранить значение переменных на каждый день
...
Рейтинг: 0 / 0
10.09.2001, 11:30
    #32013773
qu-qu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать значение по умолчанию в пустой выборке
Можно и так попробовать:

select 1 as value into #tmp_defaults
select isnull(n.data,'Значение по умолчанию')
from global_variables n
right join #tmp_defaults
on n.name='Последняя дата распределения работ'
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать значение по умолчанию в пустой выборке / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]