SET @Str='SELECT TOP '+CAST(@RecsPerPage AS VARCHAR(20))+' * FROM '+@SQL+' WHERE '+@where +' and '+@ID+' NOT IN (SELECT TOP '+CAST((@RecsPerPage*(@Page-1)) AS VARCHAR(20))+' '+@ID+' FROM '+@SQL+' where '+@where+' ORDER BY '+@Sort+') ORDER BY '+@Sort
PRINT @Str EXEC sp_ExecuteSql @Str
GO