我有一个类似于下面的查询,我需要从另一个表中返回几个字段作为子查询。有没有一种方法我只能将查询调用到TABLE2一次,并使用该查询的结果来填充我需要的各个字段?我正在寻找类似于如何在LINQ中使用let语句的东西。谢谢。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,派生表或者很可能只需加入表格。但是,实现这一点的巨大荣誉并不是非常有效。 –