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

Откуда:
Сообщений: 111
нужно выбрать данные из 2-ух таблиц

находя соответствия по первичному ключу если
результат выборки пустой, то выбрать все записи, если нет то вывести выборку

Соответственно вопрос, как проверить выборку на пустоту?
15 июл 13, 18:33    [14569748]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
lynatik50,

if (select count(*) from ... ) > 0
15 июл 13, 18:37    [14569761]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Ghall
Guest
if (
select top 1 1 from ...
) = 1
15 июл 13, 18:46    [14569793]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
lynatik50
нужно выбрать данные из 2-ух таблиц

находя соответствия по первичному ключу если
результат выборки пустой, то выбрать все записи, если нет то вывести выборку

Соответственно вопрос, как проверить выборку на пустоту?

Ничего не понял, но попробуйте вот это:
select * 
from table1 t1 
left join table2 t2 on t2.id=t1.id
15 июл 13, 19:29    [14569930]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
lynatik50

Соответственно вопрос, как проверить выборку на пустоту?


if exists ()
16 июл 13, 10:10    [14571322]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Дмитрий-ВРН
Member

Откуда: Воронеж
Сообщений: 17
Если правильно понял задачу то конструкция токовы

if exists (select t1.колонка
from table1 t1
inner join table2 t2 on t2.id=t1.id)
begin

-- запрос вывод выборки

end else begin

-- запрос вывод всех записей

end
16 июл 13, 10:20    [14571396]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить