sql >> Database >  >> RDS >> Sqlserver

Hoe verwijs ik naar een alias in een WHERE-clausule?

Je kunt je code hierboven niet gebruiken, onthoud WHERE gebeurt voor SELECT , dus je zou moeten gebruiken:

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

De meest gebruikelijke manier om iets als dit een alias te geven, is een innerlijke weergave / query als volgt:

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


  1. MySQL UNIX_TIMESTAMP voor PostgreSQL

  2. Een-op-constante relatie modelleren

  3. mysql:Hoe INNER JOIN aan een tafel te doen, maar de deelname beperken tot 1 resultaat met de hoogste stem of telling?

  4. Opgeslagen procedure of functie verwacht een parameter die niet is opgegeven