11

I know you cannot use a alias column in the where clause for T-SQL; however, has Microsoft provided some kind of workaround for this?

Related Questions:

Community
  • 1
  • 1
wusher
  • 12,291
  • 22
  • 72
  • 95

2 Answers2

28

One workaround would be to use a derived table.

For example:

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

I hope this helps.

Jim V.
  • 2,137
  • 16
  • 14
1

Depending on what you are aliasing, you could turn it into a user defined function and reference that in both places. Otherwise your copying the aliased code in several places, which tends to become very ugly and means updating 3+ spots if you are also ordering on that column.

Adam
  • 7,800
  • 2
  • 25
  • 24