Има няколко начина да решите това. Най-лесно би било да модифицирате съхранената процедура, за да ви позволи да филтрирате директно набора от резултати, но предполагам, че по някаква причина не можете да направите това.
Това, което ще трябва да направите, е да съхраните резултатите от съхранената процедура в таблица/временна таблица по следния начин:
DECLARE @tablevar table(col1,..
INSERT INTO @tablevar(col1,..) exec MyStoredProc 'param1', 'param2'
SELECT col1, col2 FROM @tablevar WHERE col1 = 'abc'
РЕДАКТИРАНЕ:Ако можете да редактирате подзаявката:
Стара съхранена процедура:...SELECT*FROMMyTableWHERECol1 =@param1 ANDCol2 =@param2
Нова съхранена процедура:
....
SELECT
*
FROM
(SELECT
*
FROM
MyTable
WHERE
Col1 = @param1 AND
Col2 = @param2
) a
WHERE
Col3 = FilterRule1
но може би не разбирам напълно съхранената ви процедура тук. Временната таблица тук всъщност не е най-ефективното решение и може да бъде донякъде неприятно, но ако работи за вас, продължете с нея, но имам проблем да си представя ситуация, в която не можете просто да промените съхранения си процес, за да използвайте подзаявка вместо временна таблица.