如何避免两次编写SQL Server查询以避免重复?

Gar*_*ett 2 sql-server query-optimization

我有一个SQL查询,需要SELECT在整个查询中多次重复相同的语句作为其他计算的输入.

如何编写查询以便我只定义重复的SELECTSQL语句一次?有没有一种方法可以避免在通过查询重复时出错?

更新:在这种情况下,从SELECT返回的数据预计在80%的情况下<100行,在其他20%的情况下最多100-200行

CTE和表变量看起来都像是有效的答案 - 但是你怎么知道在任何情况下哪一个更合适呢?

HLG*_*GEM 7

使用select插入Temp表或表变量.(如果您认为数据集很小,请使用表变量,如果数据集很大则使用临时表).然后在所有后续查询中,像任何其他表一样加入临时表或表变量.