Bonjour,
Je vais essayer d'être le plus clair possible !
J'ai une table personne et pour chaque personne, j'ai un boulléen qui me dit si elle active ou nom.
Ensuite, j'ai une table événement. Pour chaque événement, j'ai un champ qui peut contenir moyen faible, moyen ou fort. Chaque événement est rattaché à une personne (il y a l'id de la personne dans la table événement).
Ce que je voudrais faire, c'est compter le nombre d'événement faible, moyen et fort pour chaque personne active.
exemple :
Actuellement, j'arrive à avoir un chiffrage quand il y a des événements présents mais je n'arrive pas à avoir les valeur nulles (les lignes avec des 0).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 pers_id evt_urgence count(e.evt_id) 1 fort 0 1 moyen 5 1 faible 2 2 fort 1 2 moyen 3 2 faible 0
Je fais ça pour les avoir :
Avec pour résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select p.pers_id, decode(e.evt_urgence, 1, 'fort', 2, 'moyen', 3, 'faible'), count(e.evt_id) from evenement e left outer join personne p on p.pers_id = e.pers_id where p.pers_actif = 1 GROUP by p.pers, e.evt_urgence ORDER BY p.pers, e.evt_urgence asc ;
Je me doute que c'est en rapport avec une jointure mais je ne vois pas comment la faire autrement sans avoir des problèmes de group by
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 pers_id evt_urgence count(e.evt_id) 1 moyen 5 1 faible 2 2 fort 1 2 moyen 3
Quelqu'un peut-il m'aider ?
D'avance merci !
Partager