réutiliser un alias dans une même requête

réutiliser un alias dans une même requête - SQL/NoSQL - Programmation

Marsh Posté le 24-05-2010 à 10:15:02    

Bonjour à tous,
Je suis passé à SQL server depuis quelques jours et là j'ai un problème que je n'avais déjà pas résolu avec MySQL :  
 
J'enregistre dans une table des calculs effectués à partir d'une autre. Seulement parfois j'ai besoin d'enregistrer un calcul, reprendre le résultat, recalculer/modifier et l'enregistrer dans une autre colonne mais sur la même ligne.
 
Exemple  

Code :
  1. Select
  2.   att1 * 30 as res1,
  3.   res1 * 40 as res2
  4. from maTableSource;


 
On voit ici que je réutilise l'attribut crée "res1" mais ça ne marche pas :(.
 
Cela est -il possible ? (sans faire insert/update) mais bien un insert.
Et non plus sans me taper 2 fois le calcul dans le insert car pas performant et pas min-tenable pas bon du tout ...
 
Merci à tous

Reply

Marsh Posté le 24-05-2010 à 10:15:02   

Reply

Marsh Posté le 25-05-2010 à 09:30:24    

Il alias ne peut se réutiliser quand dans un group by, dans le select tu dois ecrire 2x ton calcul.
Point de vue perf, SQL server est suffisement malin pour ne faire le calcul qu'une fois.
 
La raison pour la quelle un alias ne peut pas etre utilisé comme source dans la liste champs du select est dû a l'ordre dans le quel la query est parsée.


Message édité par Oliiii le 25-05-2010 à 09:31:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed