Подтвердить что ты не робот

Как повторно использовать запрос sub в sql?

У меня есть запрос, похожий на следующий

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 исключается. Я могу писать простые запросы. Это ограничение приложения.

Есть ли способ повторного использования одного и того же подзапроса в одном утверждении

4b9b3361

Ответ 1

Используйте Common Table Expression (CTE), если вы используете 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