我知道您不能在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个以上的位置。