Ответ 1
Логически, предложение select
является одной из последних частей запрошенного запроса, поэтому псевдонимы и производные столбцы недоступны. (За исключением order by
, что логически происходит последним.)
Использование производной таблицы в этом месте:
select *
from (SELECT a, b, a+b as TOTAL FROM (
select 7 as a, 8 as b FROM DUAL
UNION ALL
select 8 as a, 8 as b FROM DUAL
UNION ALL
select 0 as a, 0 as b FROM DUAL)
)
WHERE TOTAL <> 0
;