sqlserver-在ms-sql2000的where子句中使用Alias列



我知道您不能在T-SQL的where子句中使用别名列;然而,微软是否为此提供了某种变通方法?

相关问题:

  • Where子句中的未知列
  • 你能在mysql的WHERE子句中使用别名吗
  • OpenQuery结果中的SQL语句出现"无效列名"错误

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

例如:

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

我希望这能有所帮助。

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

最新更新