在ms-sql 2000的where子句中使用Alias列

时间:2008-11-04 00:06:13

标签: sql sql-server tsql

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

  

相关问题:

     

2 个答案:

答案 0 :(得分:28)

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

例如:

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

我希望这会有所帮助。

答案 1 :(得分:1)

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