加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何在sql中重用一个子查询?

发布时间:2020-12-12 08:44:07 所属栏目:MsSql教程 来源:网络整理
导读:我有如下的查询 select columnsfrom (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.someke
我有如下的查询
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,请使用 Common Table Expression(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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读