Il existe un moyen d'utiliser un champ calculé dans la clause where?
Il y a un moyen d'utiliser un champ calculé dans la clause where ?
Je veux faire quelque chose comme
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
;
mais j'obtiens l'erreur ORA-00904: ""TOTALE": identifiant invalide.
J'ai donc utiliser
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
;
source d'informationauteur Luc M
Vous devez vous connecter pour publier un commentaire.
Logiquementle
select
clause est l'une des dernières pièces d'une requête évalué, les alias et des colonnes dérivées ne sont pas disponibles. (Sauf pourorder by
qui logiquement arrive en dernier.)À l'aide d'une table dérivée est loin autour de cette: