【问题标题】:Using an Alias column in the where clause in ms-sql 2000在 ms-sql 2000 的 where 子句中使用别名列
【发布时间】:2008-11-04 00:06:13
【问题描述】:

我知道您不能在 T-SQL 的 where 子句中使用别名列;但是,Microsoft 是否为此提供了某种解决方法?

相关问题:

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    一种解决方法是使用派生表。

    例如:

    select *
    from 
       (
       select a + b as aliased_column
       from table
       ) dt
    where dt.aliased_column = something.
    

    我希望这会有所帮助。

    【讨论】:

    • 我一直只是重复 SQL,这太好了!
    【解决方案2】:

    根据您的别名,您可以将其转换为用户定义的函数并在两个地方引用它。否则,您在多个位置复制别名代码,这往往会变得非常难看,如果您也在该列上订购,则意味着更新 3+ 个点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 2012-01-12
      • 2020-05-14
      相关资源
      最近更新 更多