Bonjour !
J'ai un énorme soucis avec un code. Je souhaite l'optimiser pour qu'il prenne moins de temps, mais je n'y connais pas grand chose en SQL
Regardez cette usine à gaz :
En gros, cette petite suite de lignes de code doit me sortir le nombre d'employés pour lesquel, dans une facturation, on retrouve les références W1017, W1001, W1019, W1006 plus d'une fois ( Exemple, deux fois W1017 ou une fois W1001 et une fois W1019 ... )
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 // Compte le nombre de personnes qui possèdent plus d'un pc. $result6 = mysql_query("SELECT NOM,PRENOM FROM ".$T_factur." GROUP BY NOM, PRENOM"); while($row6 = mysql_fetch_object($result6)) { $total++; $nom=$row6->NOM; $prenom=$row6->PRENOM; $result7 = mysql_query("SELECT COUNT(NOM) as TOTAL FROM ".$T_factur." WHERE NOM LIKE '".$nom."' AND PRENOM LIKE '".$prenom."' AND CODE_PRODUIT_CATALOGUE LIKE 'W1006' OR NOM LIKE '".$nom."' AND PRENOM LIKE '".$prenom."' AND CODE_PRODUIT_CATALOGUE LIKE 'W1001' OR NOM LIKE '".$nom."' AND PRENOM LIKE '".$prenom."' AND CODE_PRODUIT_CATALOGUE LIKE 'W1017' OR NOM LIKE '".$nom."' AND PRENOM LIKE '".$prenom."' AND CODE_PRODUIT_CATALOGUE LIKE 'W1019'"); while($row7 = mysql_fetch_object($result7)) { $nombre=$row7->TOTAL; } if($nombre>1) { $nb_employes++; } }
La structure de la base est pas très claire mais malheureusement je ne peux pas la modifier, je reprends du code
Quelqu'un a une idée concernant cette optimisation ? J'imagine qu'il est possible de sortir ce résultat en une requête mais je ne vois pas comment.
Bien cordialement.
Partager