У меня есть сложный запрос для выбора страничного записей «с», я хочу, чтобы повторно использовать последнюю временную таблицу для другого использования, как количество записей:SQL, как повторно использовать временную таблицу
;with ProductCatIDs
as
(
select
ID, ParentID, Name
from
[tbl_Categories]
where
ID = @CatID
union all
select
m.ID, m.ParentID, m.Name
from
[tbl_Categories] m
join
ProductCatIDs on ProductCatIDs.ID = m.ParentID
),
ProductsFiltered as (
SELECT DISTINCT tbl_Products.*
FROM tbl_ProductCategories RIGHT OUTER JOIN
tbl_Products ON tbl_ProductCategories.ProductID = tbl_Products.ID
WHERE tbl_Products.Enabled = 'true' and (tbl_ProductCategories.CategoryID IN (
select id
from ProductCatIDs
))),
#ProductsNumbered as (
Select *, ROW_NUMBER() OVER (order by ID DESC) as RowNumber FROM ProductsFiltered
)
SELECT * FROM #ProductsNumbered As tbl_Products
Where
RowNumber > @FirstRec
And RowNumber < @LastRec
SELECT Count(*) FROM #ProductsNumbered
Последнего оператор возвращает ошибку Invalid имя объекта '#ProductsNumbered'
Как я могу повторно использовать #ProductsNumbered, чтобы избежать вычисления всего SP только для простого счетчика?
SELECT Count(*) FROM #ProductsNumbered
Спасибо Аллан :) – Mertez