Bonjour,

J'ai fait une requete select qui effectue un gros calcul.
Je récupère le résultat de ce calcul dans mes colonnes
Ce calcul restreint les lignes retournées (where)
et les lignes sont triées selon ce calcul
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Champ1, Champ2, [Gros calcul] AS Resultat
FROM table1 INNER JOIN...
WHERE [Gros calcul] < 100
ORDER BY [Gros calcul]
J'aimerais éviter d'avoir à écrire plusieurs fois la formule du calcul.
Si je mets le nom de l'alias dans le ORDER BY
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Champ1, Champ2, [Gros calcul] AS Resultat
FROM table1 INNER JOIN...
WHERE [Gros calcul] < 100
ORDER BY Resultat
Cela fonctionne toujours

Mais si j'essaies de mettre l'alias également dans le WHERE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Champ1, Champ2, [Gros calcul] AS Resultat
FROM table1 INNER JOIN...
WHERE Resultat < 100
ORDER BY Resultat
J'obtient une erreur de "colonne 'Resultat' inconnue"

Est-il possible de ne pas écrire plusieurs fois ce calcul ?

Pour info, voici le calcul :
6376.5 * ACOS(COS(43.7667 * (PI() / 180)) * COS(Vil_Latitude * (PI() / 180)) * COS(Vil_Longitude * (PI() / 180) - 4.41667 * (PI() / 180)) + SIN(43.7667 * (PI() / 180)) * SIN(Vil_Latitude * (PI()/180)))
Merci