Utiliser la valeur d'une fonction dans le SELECT dans une clause WHERE [Résolu]

Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
- - Dernière réponse : xactise
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
- 31 mai 2009 à 09:13
Bonjour à tous une petite question requête :)

Peut ont utiliser la valeur d'une fonction dans un SELECT, dans une clause WHERE d'une requête :

l'exemple concret plus parlant :

SELECT id_client,id_contrat, MAX(date) as date1, id_suivi_client FROM `suivi_client` WHERE ne_pas_suivre !=1 AND belgique=1 AND date1<=(SELECT MAX(date) as date2 FROM `suivi_client` WHERE ne_pas_suivre !=1 AND belgique=1 AND date<='2009-03-30' GROUP BY id_contrat) GROUP BY id_contrat

qui me retourne : #1054 - Unknown column 'date1' in 'where clause'

D'avance merci

L0rD...
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
10
3
Merci
Bonjour,

Extrait du manuel de référence mysql :

"Notez que ANSI SQL ne vous permet pas de vous référer à un alias dans une clause WHERE. Il en est ainsi car lorsque le code de WHERE est exécuté, la valeur de la colonne ne peut pas encore être déterminée. Par exemple, la requête suivante est illégale :

SELECT id,COUNT(*) AS cnt FROM nom_de_table WHERE cnt > 0 GROUP BY id;"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 129 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jeca
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Statut
Membre
Dernière intervention
4 mars 2011
0
Merci
Bonjour,

Ton erreur veux dire que dans ta table suivi_client, il n'y a pas de champs datel...

A+
<hr size="2" width="100%" />Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...
Commenter la réponse de coach759
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
0
Merci
Bonjour et merci pour ta réponse, je tien juste a dire que si j'avais voulu une traduction de ce que me sortais PMA, j'aurai était sur un site de traduction.

Et sinon MAX(date) as date1
donc date1 est bien déclaré...

Merci pour les réponses a venir.

L0rD...
Commenter la réponse de xactise
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
0
Merci
Ma fois si sa sors du manuel de référenc,e je m'incline, merci a toi jeca, je valide !

L0rD...
Commenter la réponse de xactise