IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

problème de jointure entre deux requêtes séparées


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut problème de jointure entre deux requêtes séparées
    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_ .

    A partire de là tou marche comme je veus mais je veu aussi regrouper d'autre que 1st tel que bla_truc, bla_chose, bla_etc...

    alors j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT IF((customers_from LIKE '1st%','1st_',customers_from) and (customers_from LIKE '%bla%','bla_',customers_from))AS Origin,
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT IF((customers_from LIKE '1st%','1st_',customers_from) and (customers_from LIKE '%bla%','bla_',customers_from))AS Origin,
    et là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND   customers_from LIKE '%{$row['Origin']}%'
    je vous montre mon bout de code

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

  2. #2
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut
    comme personne ne répond j'ai l'impression que c'est impossible de mettre ce bout de code dans une requette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IF((customers_from LIKE '1st%','1st_',customers_from) AND (customers_from LIKE '%bla%','bla_',customers_from))AS Origin,
    si quelqu'un sait comment fair peut-il me l'indiqué ou si c'est impossible quelqu'un peu me le dire aulieu que je m'acharne a trouvé une solution

    Merci

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut
    Personne peu m'aider

    si quelqu'un regarde j'ai essayer de faire comme sa mais toujours rien mais j'approche sans avencé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    $query_from = "SELECT  substr(customers_from, 1, 3) AS Origine ,
    				(customers_from) AS prestataire
    				FROM en_customers cu	
    				WHERE customers_from NOT LIKE '<%' 
    				GROUP BY Origine  ";
     
    	$result_from = mysql_query($query_from) or die ("Pb avec la requette ".mysql_error()) ;
     
    		while($row_from = mysql_fetch_assoc($result_from)){
     
    		$total_from = $row_from["Origine"];
    		$total_prest = $row_from["prestataire"];
     
    		echo $total_from;
     
     
    	// REQUETE 1 : 
    	$query = " SELECT  IF(customers_from LIKE '%".$total_from."%','".$total_prest."',customers_from)  AS Origin, 
           COUNT(customers_id) AS effectif_vg
    		FROM ".$prefixe."customers cu
    		WHERE customers_from NOT LIKE '<%'
    		" . $condition . "
    		GROUP BY Origin ";
    	$result_vg = mysql_query($query) ;
     
    	}	
     
    while ($row = mysql_fetch_array($result_vg))  
    {  
     
     
    	// REQUETE 2 : 		
    			$query_produit = 
    					" SELECT 
    					    count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM ".$prefixe."customers cu
    						INNER JOIN ".$prefixe."commandes co   
    						ON cu.customers_id=co.customers_id 
    						WHERE  co.commandes_status='1'
    						and   customers_from LIKE '%{$row['Origin']}%' " . $condition . "
    						 ";
     
    						if ($row['Origin'] == '') {
    			$query_produit = " SELECT 
    					    count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM ".$prefixe."customers cu
    						INNER JOIN ".$prefixe."commandes co  
    						ON cu.customers_id=co.customers_id 
    						WHERE   co.commandes_status='1'
    						and   customers_from = '' " . $condition . "
    						 ";
    													}
     
     
    				$result = mysql_query($query_produit) ;	
     
     
    			while ($row1 = mysql_fetch_array($result)) 
    			{	
     
    ?>
     
    <tr>
    			<td style="background-color:#CCCCCC;">  </td>
                <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td>
    			 <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td>
    			 <td style="text-align:center;"> <?php echo $row1['command'] ?> </td>
    mais si quelqu'un peu me guider merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/03/2014, 12h16
  2. Réponses: 11
    Dernier message: 30/08/2010, 17h24
  3. [MySQL] Probléme de jointure entre deux tables
    Par super-java dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/06/2008, 14h49
  4. Réponses: 5
    Dernier message: 11/12/2007, 14h44
  5. [Requête]Problèmes de nombre d'enregistrements entre deux requêtes
    Par Paul Gasser dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/03/2007, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo