Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come faccio a fare riferimento a un alias in una clausola WHERE?

Non puoi nel tuo codice sopra, ricorda WHERE avviene prima di SELECT , quindi dovresti usare:

WHERE DateAdd(dd, -1, C.ExpirationDate) BETWEEN @StartDate AND @EndDate

Il modo più comune per alias qualcosa del genere sarebbe una vista interiore / query come questa:

SELECT
  n.FooBar,  --here we can use FooBar
  t.BarFoo
FROM
  MyTable t
INNER JOIN
(
 SELECT
   myTestCase as FooBar
 From MyTable2
) n