Utiliser la valeur d'une fonction dans le SELECT dans une clause WHERE

Résolu
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 - 29 mai 2009 à 15:18
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...

4 réponses

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
30 mai 2009 à 08:50
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;"
3
coach759 Messages postés 43 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 4 mars 2011
29 mai 2009 à 16:36
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...
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
29 mai 2009 à 16:58
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...
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
31 mai 2009 à 09:13
Ma fois si sa sors du manuel de référenc,e je m'incline, merci a toi jeca, je valide !

L0rD...
0
Rejoignez-nous