Может кому пригодиться, ниже приведен простой (механический) способ как в конце полученной таблицы вывести итоговое значение строк, пример того, как после select вывести count одним sql-запросом. Если у кого есть иные варианты решения данной задачки, предлагайте, интересно посмотреть. Для чего это нужно: для получения данных из БД SQL для отчетов, используемых во внешних системах, потому на выходе необходимо иметь как сам "отчет", так и итоговое число строк, вошедших в такой "отчет".
-- Создаем временную табличку
declare @t1 table ([Дата] varchar(50), [Номер] varchar(50), Тема varchar(max))
-- Добавляем в табличку все строки, полученные селектом
insert @t1
select CONVERT(varchar(10), t_CardDoc.f_dtStart, 103) 'Дата', t_CardDoc.f_AutoNumber 'Номер', t_CardDoc.f_Topic 'Тема'
from t_CardDoc
where t_CardDoc.f_ControlType=40
-- если нужно, отсортировываем данные
order by t_CardDoc.f_dtStart
-- Добавляем в ту же самую временную табличку завершающую строку с итоговым количеством документов, вошедших в отчет и фразой "Всего документов:"
insert @t1
select '','','Всего документов: '+CONVERT(varchar(10),(select count(*) from t_CardDoc where t_CardDoc.f_ControlType=40))
-- Поскольку результат count это всегда тип int, а записать мы его хотим в поле varchar, которое уже имеет текстовое значение, то нужно сделать конвертацию int в varchar
-- Апогей склейки, просто выводим все строки из временной таблички, которая уже содержит итоговое значение с количеством строк
select * from @t1
Картинка с результатом sql-запроса прилагается.
-- Создаем временную табличку
declare @t1 table ([Дата] varchar(50), [Номер] varchar(50), Тема varchar(max))
-- Добавляем в табличку все строки, полученные селектом
insert @t1
select CONVERT(varchar(10), t_CardDoc.f_dtStart, 103) 'Дата', t_CardDoc.f_AutoNumber 'Номер', t_CardDoc.f_Topic 'Тема'
from t_CardDoc
where t_CardDoc.f_ControlType=40
-- если нужно, отсортировываем данные
order by t_CardDoc.f_dtStart
-- Добавляем в ту же самую временную табличку завершающую строку с итоговым количеством документов, вошедших в отчет и фразой "Всего документов:"
insert @t1
select '','','Всего документов: '+CONVERT(varchar(10),(select count(*) from t_CardDoc where t_CardDoc.f_ControlType=40))
-- Поскольку результат count это всегда тип int, а записать мы его хотим в поле varchar, которое уже имеет текстовое значение, то нужно сделать конвертацию int в varchar
-- Апогей склейки, просто выводим все строки из временной таблички, которая уже содержит итоговое значение с количеством строк
select * from @t1
Картинка с результатом sql-запроса прилагается.