Nein, es gibt keine Möglichkeit, auf Aliase zu verweisen, aber Sie können den Ausdruck einer Variablen zuweisen und dann in derselben select-Klausel auf die Variable verweisen.
Innerhalb einer Select-Anweisung erfolgt die Variablenzuweisung immer durch den Infix-Operator :=
. *In einem SET
Anweisung kann es entweder =
sein oder :=
.
z.B.
SELECT
ord_id
, candy_id
, price
, quantity
, @exc_cost := price * quantity AS exc_cost
, @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>
Sie können Variablen auch bedingt zuweisen.
z.B.
IF(quantity > 90,
@exc_cost := price * quantity * 0.95
, @exc_cost := price * quantity) AS exc_cost
Hinweis 1:In Ermangelung von aggregierten Kennzahlen und Gruppieren nach-Klauseln werden die Variablen gemäß der Spaltenreihenfolge ausgewertet:
SELECT @t, @t+2 FROM (SELECT @t := 1) a
erzeugt die Ausgabe
@t @t+2
1 3