Не, няма начин за препращане към псевдоними, но можете да присвоите израза на променлива и след това да се обърнете към променливата в същата клауза за избор.
Присвояването на променлива в оператора за избор винаги се извършва от инфиксния оператор :=
. *В SET
израз, може да бъде или =
или :=
.
напр.
SELECT
ord_id
, candy_id
, price
, quantity
, @exc_cost := price * quantity AS exc_cost
, @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>
Можете също така условно да извършите присвояване на променлива.
напр.
IF(quantity > 90,
@exc_cost := price * quantity * 0.95
, @exc_cost := price * quantity) AS exc_cost
Забележка 1:При липса на обобщени мерки и група по клауза, променливите се оценяват според реда на колоните:
SELECT @t, @t+2 FROM (SELECT @t := 1) a
произвежда изхода
@t @t+2
1 3