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

Откуда:
Сообщений: 11
Есть необходимость быстро рассчитать количество записей в нескольких совершенно разных по структуре таблицах с одинаково заполненным полем "Номер документа". Нужна хранимка, принимающая номер документа и возвращающая число записей. Подскажите, можно ли обойтись без курсоров и получить ответ одним запросом?
18 ноя 09, 17:14    [7946613]     Ответить | Цитировать Сообщить модератору
 Re: Запрос для подсчетазаписей в таблицах  [new]
iljy
Member

Откуда:
Сообщений: 8711
b_m_d,
select (select count(*) from Table1 where id = @id) cnt_1, (select count(*) from Table2 where id = @id) cnt_2, ...
Можно то же самое в столбик через union all.
18 ноя 09, 17:17    [7946631]     Ответить | Цитировать Сообщить модератору
 Re: Запрос для подсчетазаписей в таблицах  [new]
-=DiM@n=-
Member

Откуда: Москва
Сообщений: 1564
select sum(cnt)
from
(
select count(*)
from table1
where doc_num = @doc_num
unioan all
select count(*)
from table2
where doc_num = @doc_num
unioan all
select count(*)
from table3
where doc_num = @doc_num
) x
18 ноя 09, 17:17    [7946637]     Ответить | Цитировать Сообщить модератору
 Re: Запрос для подсчетазаписей в таблицах  [new]
b_m_d
Member

Откуда:
Сообщений: 11
Вау, как быстро... Спасибо за подсказку, буду пробовать
18 ноя 09, 17:19    [7946650]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить