Не, не можете да се обърнете към псевдонима другаде в същото ниво на select
, различни от order by
клауза, поради това, когато Oracle го присвоява вътрешно.
От документацията (ударението е добавено):
Можете да използвате псевдоним на колона, c_alias, за да маркирате непосредствено предшестващия израз в списъка за избор, така че колоната да се показва с ново заглавие. Псевдонимът ефективно преименува елемента от списъка за избор за продължителността на заявката. Псевдонимът може да се използва в
ORDER BY
клауза, но не и други клаузи в заявкатата .
Ще трябва да използвате вътрешна заявка, нещо като:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);