Ne, nemůžete odkazovat na alias jinde ve stejné úrovni select
, jiné než v order by
klauzule, protože když ji Oracle interně přiřadí.
Z dokumentace (zvýraznění přidáno):
Alias sloupce, c_alias, můžete použít k označení bezprostředně předcházejícího výrazu ve výběrovém seznamu, aby se sloupec zobrazil s novým záhlavím. Alias efektivně přejmenuje položku seznamu výběru po dobu trvání dotazu. Alias lze použít v
ORDER BY
klauzule, ale ne ostatní klauzule v dotazu .
Budete muset použít vnitřní dotaz, něco jako:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);