Thiyagu Arockiasamy Ответов: 1

Динамический запрос использует счетчик подкачки?


создать процедуру Sp_MultCompanyProject
@LegalTypeID VARCHAR(200) = NULL,
@CompanyCategoryID VARCHAR(200) = NULL,
@pageno int =1, -- страница по умолчанию
@pagesize int = 10 -- по умолчанию отображается 10 элементов
АС
НАЧАТЬ
IF (@LegalTypeID = 'null' )
НАЧАТЬ
SET @LegalTypeID = NULL;
КОНЕЦ;
IF (@CompanyCategoryID = 'null' )
НАЧАТЬ
SET @CompanyCategoryID = NULL;
КОНЕЦ;
Объявить @в SQL тип nvarchar(Макс), @sqlPaging тип nvarchar(Макс);
Набор @среда SQL = 'выберите отчетливый CompanyID,название организации,с aliasname от MulitSearch_Portal где 1=1';
Если @LegalTypeID не равен NULL
Установите @sql = @sql + ' и LegalTypeID в ('+ @LegalTypeID + ')';
Если @CompanyCategoryID не равен NULL
Установите @sql = @sql + ' и CompanyCategoryID в ('+ @CompanyCategoryID + ')';

метод exec (' выберите CompanyID,название организации,с aliasname из ( выбрать функции row_number() над(заказ по CompanyID ) как строку,* с ( '+@в SQL+' ) как Т ) как pageResult где ( строки между (('+@pageno+' -1)* '+@pagesize для+'+1) а '+@pageno+' * '+@pagesize для+' )' );
КОНЕЦ;

Что я уже пробовал:

MulitSearch_Portal - это таблица представлений(views)

Я сомневаюсь, как добавить количество общих записей в приведенной выше процедуре "Sp_MultCompanyProject" ...пожалуйста, помогите

Karthik_Mahalingam

вы хотите вернуть количество всех записей на основе запроса?

Thiyagu Arockiasamy

сэр, я заявляю, но он показывает все записи, например
SET @count = ' SELECT COUNT (CompanyID) FROM MulitSearch_Portal

Метод exec ( ' выберите литой(функции row_number() над(приказ PrjInfoAsOfDate) как int) в строку ,TotalRecords,CompanyID,CompanyName,AliasName,CompanyCategoryID,LegalTypeID,IncorpYear,CompanyCategory,LegalType,
IndstryID,IndstryName,SubIndstryID,SubIndstryName,ProductID,ProductName,ProjectID,ProjectTitle,ProjTypeID,ProjectType,PrjStatusID,ProjectStatus,
EstimateCost,GuesstimateCost,ActualCost,PrjInfoAsOfDate,ProjRegionID,ProjectRegion,PrjStateID,ProjectState,PrjDistrictID,PrjDistrict из ( выбрать функции row_number() над(заказ по CompanyID ) в строке ('+@рассчитывать+') как TotalRecords , * С ( '+@в SQL+' ) как Т ) как pageResult где ( строки между (('+@pageno+' -1)* '+@pagesize для+'+1) а '+@pageno+' * '+@pagesize для+' )' );

только 40 записей доступны в companyId based, но вывод на дисплей-это полное количество записей. мне нужны конкретные параметры подсчета значений сэр

1 Ответов

Рейтинг:
12

Karthik_Mahalingam

добавьте это, это даст вам счет вместе с таблицей в двух результирующих наборах.

exec('select count(*) as TotalCount from ( '+@sql+ ' ) as T')


Thiyagu Arockiasamy

Большое спасибо сэр это работает на меня

Karthik_Mahalingam

добро пожаловать