У меня есть запрос, подобный приведенному ниже
WITH TempResult AS(
SELECT AccessionNumber FROM [CASE]
UNION ALL
SELECT AccessionNumber FROM CaseReassign),
TempCount AS (SELECT COUNT(AccessionNumber) AS MaxRows FROM TempResult)
SELECT * FROM TempResult, TempCount
, который отлично работает при получении строк и их количества.Но когда может кто-нибудь помочь мне в том, как динамически добавить фильтр к этому запросу?скажем, например, мне нужно что-то вроде ниже, но он выдает ошибку «Общее выражение таблицы определено, но не используется»
DECLARE @filter nvarchar(max);
SET @filter = 'WHERE AccessionNumber LIKE ''%Case%'''
DECLARE @sql nvarchar(max);
WITH TempResult AS(
SELECT AccessionNumber FROM [CASE]
UNION ALL
SELECT AccessionNumber FROM CaseReassign),
TempCount AS (SELECT COUNT(AccessionNumber) AS MaxRows FROM TempResult)
SELECT @sql = 'SELECT * FROM TempResult, TempCount ' + @filter
EXEC sp_executesql @sql