Sch*_*chu 12 sql t-sql sql-server 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 subset1.somekey = subset2.somekey
Run Code Online (Sandbox Code Playgroud)
我想以某种方式重用
select columns
from result_set
where condition_common
Run Code Online (Sandbox Code Playgroud)
我已经过度简化了上面的查询,但上面的选择实际上是庞大而复杂的.我不想承担确保两者同步的负担
我没有任何以编程方式重用它的方法.排除了T-SQL.我只能写简单的查询.这是应用限制.
有没有办法在单个语句中重用相同的子查询
sge*_*des 23
如果您使用的是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
Run Code Online (Sandbox Code Playgroud)