Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server verwendet berechnete Spalte

Nein, es ist nicht möglich, auf den auf derselben Ebene definierten Spaltenalias zu verweisen. Ausdrücke, die in derselben logischen Abfrageverarbeitungsphase auftreten, werden ausgewertet, als befänden sie sich an derselben Stelle Zeit .

Wie Joe Celko sagt

Sie können es jedoch in einem CTE definieren und dann außerhalb des CTE wiederverwenden.

Beispiel

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