Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

serveur sql utilise une colonne calculée

Non, il n'est pas possible de référencer l'alias de colonne défini au même niveau. Les expressions qui apparaissent dans la même phase de traitement de requête logique sont évaluées comme si elles se trouvaient au même point dans temps .

Comme le dit Joe Celko

Vous pouvez cependant le définir dans un CTE puis le réutiliser en dehors du CTE.

Exemple

WITH T
     AS (SELECT ( price1 + price2 + price3 ) AS total_price,
                price4
         FROM   prices)
SELECT total_price,
       ( price4 + total_price ) AS total_price2
FROM   T