Вы можете объявить переменную таблицы или создать временную таблицу для хранения результатов первого запроса.
DECLARE @MyTempTable (column-list)
INSERT INTO @MyTempTable (column-list...)
SELECT TOP(@Count) *
FROM Table_Entries
WHERE Retrieved IS NULL
-- display results of first query
SELECT *
FROM @MyTempTable
IF @@ROWCOUNT > 0
BEGIN
UPDATE Table_Entries
SET Retrived = CURRENT_TIMESTAMP
WHERE id IN (SELECT id <----
from @MyTempTable)
Это будет полезно только в том случае, если вы хотите отобразить результаты первого запроса и есликоличество строк, возвращаемых в первом запросе, повышает производительность обновления.