我有一個類似於下面的查詢,我需要從另一個表中返回幾個字段作爲子查詢。有沒有一種方法我只能將查詢調用到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,派生表或者很可能只需加入表格。但是,實現這一點的巨大榮譽並不是非常有效。 –