如何在sql中重用子查询?

如何在sql中重用子查询?,sql,sql-server,tsql,subquery,Sql,Sql Server,Tsql,Subquery,我有如下疑问 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 subs

我有如下疑问

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+,是否有办法在单个语句中重用相同的子查询

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

我所说的PLSQL只是指使用变量、过程等的能力。正确的术语是什么?谢谢。更正了。可能是重复的