У меня есть запрос, похожий на следующий, где мне нужно вернуть несколько полей из другой таблицы в качестве подзапросов. Есть ли способ, который я могу только вызвать запрос в TABLE2 один раз и использовать результаты этого запроса для заполнения различных полей, которые мне нужны? Я ищу что-то похожее на то, как вы можете использовать оператор let в LINQ. Благодарю.TSQL Как я могу повторно использовать запись в подзапросах
select
(select field1 from TABLE2 where id = 1) as field1,
(select field2 from TABLE2 where id = 1) as field2,
(select field3 from TABLE2 where id = 1) as field3,
(select field4 from TABLE2 where id = 1) as field4
from mainTable where p1 = @p1
Существует несколько способов добиться этого. Вы можете использовать таблицу cte, производную таблицу или, скорее всего, вы можете просто присоединиться к вашим таблицам. Но большая честь для реализации этого не очень эффективна. –