Tidak, Anda tidak dapat merujuk ke alias di tempat lain di tingkat select yang sama , selain dalam order by klausa, karena saat Oracle menetapkannya secara internal.
Dari dokumentasi (penekanan ditambahkan):
Anda dapat menggunakan alias kolom, c_alias, untuk melabeli ekspresi langsung sebelumnya dalam daftar pilih sehingga kolom ditampilkan dengan judul baru. Alias secara efektif mengganti nama item daftar pilihan selama kueri. Alias dapat digunakan di
ORDER BYklausa, tetapi bukan klausa lain dalam kueri .
Anda perlu menggunakan kueri dalam, seperti:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);