Dari dokumentasi (penekanan ditambahkan):
Anda dapat menggunakan alias kolom,
c_alias, untuk memberi label ekspresi sebelumnya dalam daftar pilih sehingga kolom ditampilkan dengan judul baru. Alias secara efektif mengganti nama item daftar pilihan selama kueri. Alias dapat digunakan diORDER BYklausa, tetapi bukan klausa lain dalam kueri.
Jadi Anda tidak bisa merujuk ke alias di where klausa, di mana saat ini Anda memiliki:
...
AND (account_amt NOT BETWEEN ...
...
Alias tidak valid pada saat itu, jadi itu mencari kolom dengan nama itu di salah satu tabel, dan tidak menemukannya. Tidak apa-apa dalam order by sekalipun.
Anda juga perlu mengganti alias dengan decode yang diulang-ulang pernyataan, atau mungkin menggunakan subquery dan kemudian merujuk ke alias di where klausa dalam kueri luar, tetapi itu mungkin menjadi kurang efisien tergantung pada seberapa selektif kondisi Anda yang lain.