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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de jointure entre deux requette séparé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de jointure entre deux requette séparé

n°1888604
sinifer
Posté le 27-05-2009 à 14:52:46  profilanswer
 

Bonjours,
depuis le début de la semaine j'esseil de faire marché ma requette correctement mais pas moyen, mon problème c'est qu'à mon affichage dans la collone customer_from il y en a qui viennent de  
1st, 1st_blabla_, 1st_blabli, 1st_etc... ce que j'avais fait c'étais un SELECT substr(customers_from, 1, 3) AS Origin, pour avoir tous les 1st en un mais le problèmes c'est que des fois on à des customers_from qui viennent de jesaispasou ou dicioulaba et on verra que les 3 premières lettres donc je voudrai pouvoir avoir toutes les lettres de ceu que j'ai pas besoin de regrouper donc j'ai mis celà: SELECT IF(customers_from LIKE '1st%','1st_',customers_from) AS Origin, pour que tous ce qui commence par 1st soient renomé 1st_ .  
Mais là j'ai un problème c'est que mon résultat me donne 83 aulieu de 100 et le premier 1st qui est écrit comme sa "1st" et me retourne le nombre de 17 et 17+83=100 je sais pa si il y a un rapport mais quand même je me pose des questions si il lit pas le premier 1st ou si c'est parce qu'il y a rien d'autre après le 1st.
La cause du problème je pense doit être du fait que c'est sur 2 boucle et deux requette  
le problème doit venir entre là :

Code :
  1. SELECT IF(customers_from LIKE '1st%','1st_',customers_from) AS Origin,


et là :

Code :
  1. and   customers_from LIKE '{$row['Origin']}%'


 
je vous montre mon bout de code

Code :
  1. // REQUETE 1 : chercher les prestataires et les regrouper par les 3 premiere lettres et compter le nombre de voyance gratuite  
  2. $query = "SELECT IF(customers_from LIKE '1st%','1st_',customers_from) AS Origin,
  3.        COUNT(*) AS effectif_vg
  4.  FROM customers
  5.  WHERE customers_from NOT LIKE '<%'
  6.  " . $condition . "
  7.  GROUP BY Origin ";
  8. $result_vg = mysql_query($query) ;
  9. while ($row = mysql_fetch_array($result_vg)) {
  10. // REQUETE 2 :  REQUETE QUI VA RECUPERER LES DONNES DE VG, NB DE COMMANDES, CA, MMC
  11.   $query_produit =
  12.     " SELECT
  13.        COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
  14.        AVG(co.commandes_montant) AS Mmc
  15.      FROM customers cu
  16.      INNER JOIN commandes co 
  17.      ON cu.customers_id=co.customers_id
  18.      WHERE  co.commandes_status='1'
  19.      and   customers_from LIKE '{$row['Origin']}%'
  20.      " . $condition . "
  21.       ";
  22. while ($row1 = mysql_fetch_array($result)) {


 
ensuite la je mets mon affichage si quelqu'un peu me renseigné sur mon erreure ce serai gentille car là je galère bien merci

mood
Publicité
Posté le 27-05-2009 à 14:52:46  profilanswer
 

n°1888627
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 27-05-2009 à 15:53:44  profilanswer
 

euh une question c'est normal que avant la deuxieme boucle tu n'est pas de mysql_query pour executer query_produit, je me trompe peut etre tu l'execute peut etre plus tard, mais alors je vois pas trop d'ou vient le $result


Message édité par infoman64 le 27-05-2009 à 15:54:05
n°1888639
sinifer
Posté le 27-05-2009 à 16:24:39  profilanswer
 

oui désolé j'ai oublié de mettre sa dans l'exemple mais dans mon code c'est bon.

Code :
  1. $result = mysql_query($query_produit) ;
  2. while ($row1 = mysql_fetch_array($result))
  3. {


 
par contre j'ai avencé d'un pas j'ai trouvé mon erreur mais j'ai toujours un truc qui cloche  
 
mon erreure étais là: LIKE '1st%','1st_'
et la bonne formule est sa: LIKE '1st%','1st'
 
je doit réecrire correctement tous ce qu'il y a entre les %
 
Mais mon autre problème c'est qu'il n'y a pas que 1st que je veut regroupé il y a aussi thnl par exemple et là j'ai fait comme sa
 

Code :
  1. SELECT IF(customers_from LIKE '1st%','1st',customers_from) and  IF (customers_from LIKE '%thnl%','thnl',customers_from) AS Origin,


 
Connaitrait tu la bonne synthaxe??
j'ai mis or a la place du if mais toujours rien je pence que c'est ma syntaxe qui est fausse

n°1888809
sinifer
Posté le 28-05-2009 à 08:14:38  profilanswer
 

es-ce posible??? au moin???


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

  problème de jointure entre deux requette séparé

 

Sujets relatifs
les instructions fonctionnent mais pas le scriptProblème vérification pseudo
probleme sur AlgorithmeProbléme de suppression enregistrement + BD
probleme requete Sql sur update clef primaireProblème PHP (formulaire e-mail)
probleme delphi 7 et mysql 5.0.51bprobleme delphi 7 et mysql 5.0.51b
probleme avec creation d'un player flv 
Plus de sujets relatifs à : problème de jointure entre deux requette séparé


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