Bonjour,
voilà, j'ai 3 tables, nature_evenement, type_evenement et modele_evenement. A une nature est associée 0..n type, et à un type est associé 0..n modele. Donc un modele correspond à un type, et donc à une nature.
Je veux compter, pour chaque naturele nombre de modele_evenement existant :
Le souci étant que les natures n'ayant pas de d'evenement n'apparaissent pas; Je suis donc parti sur une requete à jointure externe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT nature_evenement.nom, count(*) FROM nature_evenement,model_evenement,type_evenement WHERE type_evenement.IdType_Evenement = model_evenement.Type_Evenement_IdType_Evenement AND type_evenement.nature_evenement_IdNature = nature_evenement.IdNature AND type_evenement.actif=1 AND nature_evenement.actif=1 AND model_evenement.actif=1 GROUP BY nature_evenement.nom ORDER BY nature_evenement.nom ASC
Avec cette requete, toutes mes natures s'affichent, mais elle ont chacune la meme quantité (ce qui est faux).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT nature_evenement.nom, count(*) FROM nature_evenement,model_evenement LEFT OUTER JOIN type_evenement ON (type_evenement.IdType_Evenement = model_evenement.Type_Evenement_IdType_Evenement AND type_evenement.nature_evenement_IdNature = nature_evenement.IdNature AND type_evenement.actif=1) WHERE nature_evenement.actif=1 AND model_evenement.actif=1 GROUP BY nature_evenement.nom ORDER BY nature_evenement.nom ASC
Comment dois je corriger ces requetes ? Merci d'avance
Partager