OVH Cloud OVH Cloud

Alias de champs

2 réponses
Avatar
Marc Tousignant
Bonjour,

Comment peut-on créer des requêtes SQL en utilisant des alias sur un champs
et utiliser cette alias dans un WHERE clause.

Ex. Select no as 'Numero'
From emp
Where 'Numero' = 1001

Un conseil serait bien apprécier...

Merci

2 réponses

Avatar
Michel Walsh
Salut,


On ne peut pas. Généralement, l'alias peut être vu comme un
étiquetage (formatage) attribué à la toute fin du SELECT. Ici, par exemple,
je peux donner comme alias le nom d'un champ existant, la clause WHERE
comprendrait que je parle du champ, non de l'alias, car l'alias n'est pas
encore attribué:

Use pubs
SELECT au_lname AS phone, phone AS au_lname FROM authors
SELECT au_lname AS phone, phone AS au_lname FROM authors WHERE
au_lname='White'

ou encore, l'énoncé qui suit qui retourne une erreur:

SELECT qty, qty*0.07 As Taxe, qty+Taxe as PrixFinal FROM sales


car lors du calcul de ce qui sera PrixFinal, Taxe n'est pas encore connu,
même si cela est l'alias de 0.07*qty.


Espérant être utile,
Vanderghast, Access MVP


"Marc Tousignant" wrote in message
news:ep9H1M$
Bonjour,

Comment peut-on créer des requêtes SQL en utilisant des alias sur un


champs
et utiliser cette alias dans un WHERE clause.

Ex. Select no as 'Numero'
From emp
Where 'Numero' = 1001

Un conseil serait bien apprécier...

Merci




Avatar
Med Bouchenafa[MVP]
En fait ce n'est pas possible et l'explication tient dans l'ordre d'évaluation des différentes
clauses d'un SELECT qui est le suivant
1) FROM
2) WHERE
3) GROUP BY
4) HAVING
5) SELECT
6) ORDER BY

Lorsqu'on passe dans le WHERE (2) l'alias n'existe pas encore dans le SELECT (1)

--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris

"Marc Tousignant" a écrit dans le message de news:
ep9H1M$
Bonjour,

Comment peut-on créer des requêtes SQL en utilisant des alias sur un champs
et utiliser cette alias dans un WHERE clause.

Ex. Select no as 'Numero'
From emp
Where 'Numero' = 1001

Un conseil serait bien apprécier...

Merci