Je voudrais écrire une déclaration qui ressemble à ceciPuis-je utiliser des alias dans une instruction select?
select 1 as one, 2 as two , one + two as three
Cependant SQL Server ne peut pas fonctionner ce one + two
est.
je peux re-écrire sous cette forme
SELECT x.one
,x.two
,x.one + x.two AS three
FROM (
SELECT 1 AS one
,2 AS two
) x
Ce qui me donne la sortie, je pense. C'est juste un peu brouillon (et plus encore dans un exemple non-artificiel) Je ne suis pas sûr de ce que ce genre de chose fait aux internes de SQL Server et quelles implications il y a à la vitesse d'exécution.
Y a-t-il une meilleure façon de procéder?
Votre approche à l'aide d'un sous-requête est correcte. – gvee
La raison pour laquelle vous n'êtes pas autorisé à faire référence à d'autres colonnes créées par la clause select est que le langage SQL a été spécifié afin que toutes les colonnes soient calculées "comme si" elles sont toutes calculées en parallèle. –