Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
704 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] clause WHERE avec AS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] clause WHERE avec AS

n°1575850
goldorak69
Posté le 16-06-2007 à 15:46:37  profilanswer
 

Bonjour, trève de blabla déjà voilà la requête qui ne marche pas:

Code :
  1. SELECT *, (time1 + time2 + time3) AS time_total
  2. FROM table1
  3. WHERE time_total<=3600
  4. GROUP BY id
  5. ORDER BY id DESC


 
j'ai l'erreur suivante: Unknown column 'time_total' in 'where clause'.
 
par contre, ça, ça marche:

Code :
  1. SELECT *, (time1 + time2 + time3) AS time_total
  2. FROM table1
  3. WHERE (time1 + time2 + time3)<=3600
  4. GROUP BY id
  5. ORDER BY id DESC


 
 
Je voulais donc savoir si je suis vraiment obligé d'utiliser la clause " (time1 + time2 + time3)"?
N'y-a-t-il pas moyen d'utiliser l'alias à la place pour plus de simplicité ?


Message édité par goldorak69 le 19-06-2007 à 00:54:50
mood
Publicité
Posté le 16-06-2007 à 15:46:37  profilanswer
 

n°1576024
azgard56
zen...
Posté le 17-06-2007 à 20:30:21  profilanswer
 

Je crois bien que l'alias ne marche que pour le from car la requete est lue à l'envers. Le renommage du résultat n'intervient qu'à la fin de la requete donc tu peux pas t'en servir comme ça... Bref je crois que tu n'as pas le choix !


Message édité par azgard56 le 17-06-2007 à 20:31:29

---------------
My website : camping l'escale  
n°1576049
theredled
● REC
Posté le 17-06-2007 à 23:09:07  profilanswer
 

Tu peut peut être fouiller dans les variables mySQL (@a!= etc...), mais à l'intérieur de d'une requete je sais pas trop dans quel sens c'est pris...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1576123
MagicBuzz
Posté le 18-06-2007 à 10:35:19  profilanswer
 

Tu peux toujours faire une sous-requête (ou une vue...) te permettant de travailler avec l'alias généré.
 

Code :
  1. CREATE VIEW wv_table1
  2. AS
  3. SELECT id, champ1, champ2, ..., (time1 + time2 + time3) time_total
  4. FROM table1;
  5.  
  6. SELECT *
  7. FROM wv_table1
  8. WHERE time_total <= 3600
  9. ORDER BY id DESC;


 
PS : Et vire-moi ce putain de group by qui sert à rien :o
 
Et évite le * :o
Surtout quand il est combiné à des champs nommés...

n°1576578
goldorak69
Posté le 19-06-2007 à 00:55:51  profilanswer
 

je crois que la vue va être la plus apporpriée.
 
PS: dsl pour le "group by" j'ai oublié de le viré, au départ c'est une requête avec des jointures et tout.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] clause WHERE avec AS

 

Sujets relatifs
Comment intégrer des valeurs de liste dans ma clause WHERE ? :(Probléme avec script pour modifier une table Mysql
Insertion partielle avec LOAD DATA INFILE (MySQL)Génération de fichier xml à partir de php mysql. [Résolu]
[MySQL] Procédure stockée : parcourir les résultats d'un SELECT ?[Resolu] [php/mySQL JS?] Case a cocher evenementielle.
?? Requette sql pour connaitre le nombre d'entrée dans une table mysql[C#] Problème requête MySql
Auto execution de requette avec mysql 
Plus de sujets relatifs à : [MySQL] clause WHERE avec AS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR