微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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被排除.我只能写简单的查询.这是一个应用限制.

有没有办法在单个语句中重用同一个查询

解决方法

如果您使用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

原文地址:https://www.jb51.cc/mssql/75496.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐