Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

9 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Requette SQL, HELP!!!

 
n°18620
El_Diablo
Profil : Jeune recrue
Posté le 23-05-2007 à 14:09:02  profilanswer
 

salut, j'ai les tables suivante:
 
machine(num_machine,....)
installer(num_machine,num_log)
logiciel(num_log,nom,type)
 
 
je veut faire une requette qui m'affiche le nom des logiciel les plus installer sur tous les machine!!!(je vais la metre dans un code php)
aider moi svp, merci!!!!

n°18645
Tastito
So lost in love
Profil : Dinosaure
Posté le 31-05-2007 à 02:16:33  profilanswer
 

Je sais pas si c'est faisable en une fois dans une requête sql mais j'aurai fait quelque chose comme ça:
Je pense qu'il suffit de regarder le maximum d'entrée dans la table de jointure.
Liste des logiciels installés:

 
Code :
  1. // recuperation de tous les logiciels
  2. $sql_logiciel="SELECT nom FROM logiciel where 1";
  3. $q_logiciel=mysql_query($sql_logiciel);
  4. $tab_logiciel=array(); // tableau pour le résultat final
  5. WHILE($row=mysql_fetch_array($q_logiciel)){
  6. // pour chaque logiciel il faut compter les entrées dans la table de jointure
  7. $sql_max_logiciel="SELECT count(i.num_machine) AS "Total logiciel"
  8.                     FROM logiciel l, installer i, machine m
  9.                     WHERE l.num_log=i.num_log
  10.                     AND m.num_machine==i.num_machine
  11.                     AND l.nom=".$row["nom"];
  12. $q_max_logiciel=mysql_query($sql_max_logiciel)
  13. $tab_logiciel[$row["nom"]]=mysql_result($q_max_logiciel,0);
  14. // le tableau aura au final un nom de logiciel et le nombre de fois qu'il est utilisé
  15. }
 


---------------
"Oh, that girl, you know she really, blows my, head apart,  
And the sky and the stars, all, synkronized...  
Eh no.... No no no, now me and her,  
We are in love... "  

Aller à :
Ajouter une réponse