我有如下查询
select columns from (select columns1 from result_set where condition_common and condition1) as subset1 join (select columns2 from result_set where condition_common and condition2) as subset2 on subset1.somekey = subset2.somekey
我想以某种方式重用
select columns from result_set where condition_common
我简化了上面的查询,但是实际上上面的选择是巨大而复杂的。我不想负担确保两者同步
我没有任何以编程方式重用它的方法。排除了T-SQL。我只能写简单的查询。这是应用程序的限制。
有没有一种方法可以在单个语句中重用相同的子查询
如果您使用的是SQL Server 2005+,请使用公用表表达式(CTE):
with cte as ( select columns from result_set where condition_common ) select columns from cte as subset1 join cte as subset2 on subset1.somekey = subset2.somekey where otherconditions