エイリアスを参照する方法はありませんが、式を変数に割り当ててから、同じselect句で変数を参照することができます。
selectステートメント内では、変数の割り当ては常に中置演算子:=
によって行われます。 。 * 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:集計メジャーとgroup by句がない場合、変数は列の順序に従って評価されます:
SELECT @t, @t+2 FROM (SELECT @t := 1) a
出力を生成します
@t @t+2
1 3