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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  plusieurs count avec jointure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

plusieurs count avec jointure

n°1794118
cesar666
CHO CACAO
Posté le 30-09-2008 à 22:09:22  profilanswer
 

je n'arrive pas à faire une requete: j'ai plusieurs tables "categorie" avec des clef étrangers vers une table.
 
description:
(cette description est factice, il n'y a pas de correspondance sémantique, de plus les valeurs entre{}, ne sont pas des ENUMS mais des valeurs mises pour l'exemple...)
 
#figure
-id_figure
...
 
#liste_matiere
-id_matiere
-fk_id_figure(references #figure)
-categorie {carton, papier, plastique}
...
 
#liste_forme
-id_forme
-fk_id_figure(references #figure)
-fk_id_couleur(references #couleur)
-categorie{rond, carré,  triangle}
...
 
#liste_couleur
-id_couleur
-categorie {bleu, vert, rouge, blanc}
...
 
je voudrais compter le nombre total de figure, de figure en carton en papier... rond, carre... bleu vert rouge...
ça me donnerait un tableau comme ça:


figure totale: 625
   ~plastique: 150
      -carré: 0  
      -rond: 50
      -triangle:100
   ~carton:325
      -carré: 200
      -rond: 100
          = bleu: 44
          = vert: 56
      -triangle:25
   ~papier:200
      -carré: 55
      -rond: 75
      -triangle:70


 
je voudrais faire ça en une seule requête.
De plus, les relations entre les tables ne sont pas en 1..n, ça peut être du 0..n. Par exemple une forme n'a pas forcement une couleur (fk_id_couleur = 0)
 
Je n'ai pas les requêtes que je faites donc je ne peux pas vous les mettre.
Mais j'utilisais des JOIN LEFT avec comme condition l'égalité des clefs étrangères et des id (ON fk_id_figure = id_figure)
et à la fin je faisais GROUP BY ( liste_matiere.categorie, liste_forme.categorie, liste_couleur.categorie)
j'ai oublié de préciser que le SGBD utilisé est MySQL


Message édité par cesar666 le 30-09-2008 à 22:53:25

---------------
VNR CAMENBERT
mood
Publicité
Posté le 30-09-2008 à 22:09:22  profilanswer
 

n°1794162
cesar666
CHO CACAO
Posté le 01-10-2008 à 02:57:19  profilanswer
 

je me réponds à moi-meme
il faut utilisé la clause GROUP BY ... WITH ROLLUP
pour les curieux: http://dev.mysql.com/doc/refman/5. [...] fiers.html


---------------
VNR CAMENBERT

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

  plusieurs count avec jointure

 

Sujets relatifs
Zend_Db, jointure automatique[VBS] passer plusieurs commande MS dos en VBS
Pas de retour si count = 0[Batch] Copier string de plusieurs lignes
plusieurs count() sur une même table![Résolu]Pb récupération plusieurs valeurs d'un formulaire dans un mail
Un formulaire en plusieurs pagesMYSQL : Créer plusieurs vues ou plusieurs tables ?
1 tab pour plusieurs listes deroulantes[MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)
Plus de sujets relatifs à : plusieurs count avec jointure


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