11
Esiste un modo per utilizzare un campo calcolato nella clausola where?C'è un modo per usare un campo calcolato nella clausola where?
voglio fare qualcosa di simile
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
;
ma ottengo ORA-00904: "TOTALE": identificatore non valido.
quindi devo usare
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 a+b <> 0
;
potrebbe anche usare un CTE. – onedaywhen
Stavo provando questo in una stored procedure e la sintassi di cui sopra non avrebbe funzionato a meno che non avessi assegnato un alias anche alla tabella derivata. – DilbertDave
@DilbertDave, interessante. Stavi provando in Oracle? Se ricordo correttamente, SQL Server richiedeva sempre l'aggiunta di tabelle derivate. –