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 BY
klausa, 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
);