Это возможно, но совсем не просто ....
Вы можете изменить свои хранимые процедуры, чтобы просто создавать и заполнять глобальные временные таблицы (без выбора), затем вы можете выбрать обе с помощью объединения.
Чтобы использовать OPENROWSET, как вы это делаете в текущем подходе, вам также понадобится глобальная временная таблица, но, как вы упомянули, что ваши хранимые процедуры используют временные таблицы, OPENROWSET, OPENQUERY или sys.dm_exec_describe_first_result_set не смогутчтобы определить метаданные для создания временной таблицы.
Другой вариант - изменить хранимые процедуры на использование таблиц переменных вместо временных таблиц, после чего метаданные могут быть переопределены.Ответ @ chrszcpl https://stackoverflow.com/a/55632401/10932521 - очень хорошее решение, если вы можете это сделать.
Если это невозможно (я предполагаю, что это не так, иначе столбцы не были бы неизвестны) поскольку вы используете в своих процедурах динамический sql или по какой-либо причине просто не можете коснуться этих процедур, я думаю, что самым дешевым решением является создание третьей хранимой процедуры, которая возвращает определение динамических столбцов, которое будут возвращать другие процедуры.