いいえ、同じレベルの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
);