ドキュメントから(強調を追加):
列エイリアス
c_alias
を使用できます 、選択リストの直前の式にラベルを付けて、列が新しい見出しで表示されるようにします。エイリアスは、クエリの期間中、選択リストアイテムの名前を効果的に変更します。 エイリアスはORDER BY
で使用できます 句ですが、クエリ内の他の句ではありません。
そのため、where
でエイリアスを参照することはできません 条項、現時点であなたが持っているところ:
...
AND (account_amt NOT BETWEEN ...
...
エイリアスはその時点では有効ではないため、テーブルの1つでその名前の列を探していますが、見つかりません。 order by
で問題ありません
エイリアスを繰り返しのdecode
に置き換える必要があります ステートメント、またはサブクエリを使用して、where
のエイリアスを参照することもできます 外部クエリの句ですが、他の条件の選択度によっては、効率が低下する可能性があります。