Không, bạn không thể tham khảo bí danh ở nơi khác trong cùng cấp độ của select
, khác với thứ tự order by
, vì khi nào Oracle chỉ định nó trong nội bộ.
Từ tài liệu (đã thêm phần nhấn mạnh):
Bạn có thể sử dụng bí danh cột, c_alias, để gắn nhãn biểu thức bắt buộc ngay lập tức trong danh sách chọn để cột được hiển thị với một tiêu đề mới. Bí danh đổi tên hiệu quả mục danh sách chọn trong suốt thời gian truy vấn. Bí danh có thể được sử dụng trong
ORDER BY
mệnh đề, chứ không phải các mệnh đề khác trong truy vấn .
Bạn sẽ cần sử dụng một truy vấn bên trong, giống như:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);