Nej, der er ikke en måde at henvise til aliaser på, men du kan tildele udtrykket til en variabel og derefter henvise til variablen i den samme select-klausul.
Inde i en select-sætning udføres variabeltildelingen altid af infix-operatoren :=
. *I et SET
sætning, kan den enten være =
eller :=
.
for eksempel.
SELECT
ord_id
, candy_id
, price
, quantity
, @exc_cost := price * quantity AS exc_cost
, @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>
Du kan også betinget udføre variabeltildeling.
for eksempel.
IF(quantity > 90,
@exc_cost := price * quantity * 0.95
, @exc_cost := price * quantity) AS exc_cost
Note 1:I mangel af aggregerede mål og grupper efter klausul, evalueres variablerne i henhold til kolonnerækkefølge:
SELECT @t, @t+2 FROM (SELECT @t := 1) a
producerer output
@t @t+2
1 3