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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Mysql] Operation entre resultat d'une requete DANS une requete

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Mysql] Operation entre resultat d'une requete DANS une requete

n°1454886
FLK
Posté le 10-10-2006 à 15:39:03  profilanswer
 

Hello !
 
J'ai besoin dans une requete assez simple a la base de pouvoir faire un division entre deux champs de mon select  :heink:  
 
En gros ma requete ressemble a cela :
 

Code :
  1. SELECT commentaire_id, commentaire_desc, commentaire_nb_note, commentaire_nb_note_ok FROM commentaire


 
J'aurais besoin dans ma requete de classer les resultats en fonction du ratio ( commentaire_nb_note_ok / commentaire_nb_note )
 
PS: dans la requete réelle, nb_note et nb_note_ok sont des alias de champs calculés (SUM() )
 
Merci d'avance  :jap:  
folk

mood
Publicité
Posté le 10-10-2006 à 15:39:03  profilanswer
 

n°1454908
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-10-2006 à 15:59:41  profilanswer
 

bin tu fais:

Code :
  1. commentaire_nb_note / commentaire_nb_note_ok


ou alors j'ai pas compris la question [:w3c compliant][:w3c compliant][:w3c compliant]

n°1454913
FLK
Posté le 10-10-2006 à 16:03:02  profilanswer
 

dans mon select ?
 
bah il aime pas trop
 
PS: a mon avis c'est parcque ce sont des alias

n°1454915
omega2
Posté le 10-10-2006 à 16:03:11  profilanswer
 

Citation :

GROUP BY commentaire_nb_note_ok / commentaire_nb_note

? :whistle:  
Et le mieux c'est que ca marche même sur des champs calculé comme tu dis avoir.

n°1454917
FLK
Posté le 10-10-2006 à 16:04:01  profilanswer
 

GROUP BY ? :p
 
ORDER BY alias1 / alias2
 
=> Erreur SQL

n°1454919
omega2
Posté le 10-10-2006 à 16:04:42  profilanswer
 

Ben c'est quoi alors le message d'erreur et le texte exact de la requette?

n°1454922
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-10-2006 à 16:07:58  profilanswer
 

FLK a écrit :

dans mon select ?
 
bah il aime pas trop
 
PS: a mon avis c'est parcque ce sont des alias


Bin mets pas les alias mais les "vrais" trucs:

Code :
  1. select sum(champs1)/sum(champs2), ... from tatable order by sum(champs1)/sum(champs2)


Note: je te conseille de tester que ton sum(champs2) est différent de 0 et de null pour pas avoir de surprise!

n°1454925
FLK
Posté le 10-10-2006 à 16:09:54  profilanswer
 

Code :
  1. SELECT *, c.commentaire_id, COUNT(commentaire_note_id) AS nb_notes, IF(SUM(commentaire_note_ok) IS NULL,0,SUM(commentaire_note_ok)) AS nb_notes_ok
  2. FROM commentaire c, user u
  3. LEFT JOIN commentaire_note cn ON (c.commentaire_id=cn.commentaire_id)
  4. LEFT JOIN produit p ON (p.produit_id=c.produit_id)
  5. WHERE c.user_id = u.user_id
  6. AND p.produit_nom_url = 'blablablablabla'
  7. AND c.langue_id = '1'
  8. GROUP BY c.commentaire_id
  9. ORDER BY c.commentaire_id


 
Voila la requete de base qui fonctionne bien.
 
J'aimerais pouvoir trier par ( nb_notes_ok / nb_notes )
 
J'ai essayé ORDER BY nb_notes_ok / nb_notes
=> #1054 - Unknown column 'nb_notes_ok' in 'order clause'  

n°1454936
omega2
Posté le 10-10-2006 à 16:16:39  profilanswer
 

Si l'alias ne marche pas (bizare, il me semble que ca marche avec mysql5) essaye en mettant l'expression correspondante. Soit le "IF(SUM(commentaire_note_ok) IS NULL,0,SUM(commentaire_note_ok)) " pour la colonne "nb_notes_ok".


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

  [Mysql] Operation entre resultat d'une requete DANS une requete

 

Sujets relatifs
[VBA excel] Récupérer dans 1 listbox le resultat d'1 AutoFilter!résolurequete sur des heures particulieres
[MySQL] Decrypter les donnees d'un blob dans une procedure[Php & MySQL] Problème pour création de tables
Mysql Without installer (unzip in C:\)listobx: resultat sur +ieurs lignes
Attaquer Base MySQL en C#[Resolu] Requete tableau croisé
Rrreur Requete Mysql Par PHP 
Plus de sujets relatifs à : [Mysql] Operation entre resultat d'une requete DANS une requete


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