Предполагая, что вы хотите кэшировать данные для повторного использования позже ...
Используйте временную таблицу или табличную переменную, если она содержится в одном бите кода.
Если вы хотите ссылаться на одни и те же данные в нескольких процессах или вызовах, используйте временную таблицу. Используйте локальный для многих вызовов, но не закрывайте соединение, используйте глобальный для многих различных процессов / соединений.
Если это просто один большой выбор, в котором вы хотите повторно использовать те же данные, используйте CTE.
Представление также работает, но данные могут меняться между выполнениями.