Nein, Sie können nicht auf den Alias an anderer Stelle in derselben Ebene von select
verweisen , außer in der order by
-Klausel, weil Oracle sie intern zuweist.
Aus der Dokumentation (Hervorhebung hinzugefügt):
Sie können einen Spaltenalias, c_alias, verwenden, um den unmittelbar vorangehenden Ausdruck in der Auswahlliste zu kennzeichnen, sodass die Spalte mit einer neuen Überschrift angezeigt wird. Der Alias benennt das Auswahllistenelement effektiv für die Dauer der Abfrage um. Der Alias kann im ORDER BY
verwendet werden -Klausel, aber keine anderen Klauseln in der Abfrage .
Sie müssten eine innere Abfrage verwenden, etwa so:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);