Il existe un moyen d'utiliser un champ calculé dans la clause where?Il existe 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 je reçois ORA-00904: "TOTAL": identificateur non valide.
donc je dois 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
;
pourrait également utiliser un CTE. – onedaywhen
J'essayais ceci dans une procédure stockée et la syntaxe ci-dessus ne fonctionnerait pas à moins que j'aie aliasé la table dérivée aussi bien. – DilbertDave
@DilbertDave, intéressant. Étiez-vous en train d'essayer Oracle? Si je me souviens bien, SQL Server a toujours exigé que les tables dérivées soient aliasées. –