Bonjour à tous,

voici mon problème : je dois compter dans une table le nombre de fois qu'un même utilisateur a créé ou modifié une ligne.

On peut le schématiser de la manière suivante :

Id_ligne | Createur | Modificateur
--------------------------------
1 | 10 | 12
1 | 12 | 01
1 | 12 | 10
1 | 10 | 12

Et je souhaiterais, avoir pour chaque utilisateur, le nombre de lignes modifiées et Crées sur 2 colonnes :

Utilisateur| Nb Création | nombre modification
--------------------------------------------
10 | 2 | 1
12 | 2 | 2
01 | 0 | 1


(Je schématise car je récupère également le nom de l'utilisateur et sa profession de 2 autres tables via jointures...)

Voici la requête que j'utilise :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
select 
   ni.NOM_COMPLET as 'Utilisateur',
   nm.LIBELLE as 'Libellé Métier',
   count(*) as 'Total Création'
 
from ssr_rhs s 
 
   join noyau_intervenant ni
     on ni.INT_ID = s.createur
 
   join noyau_metier nm
     on nm.metier_id = ni.profession_id
 
group by ni.NOM_COMPLET,nm.LIBELLE
 
UNION ALL
 
select 
   ni.NOM_COMPLET as 'Utilisateur',
   nm.LIBELLE as 'Libellé Métier',
   count(*) as 'Total Modif'
 
from ssr_rhs s 
 
   join noyau_intervenant ni
     on ni.INT_ID = s.modificateur
 
   join noyau_metier nm
     on nm.metier_id = ni.profession_id
 
group by ni.NOM_COMPLET,nm.LIBELLE
 
order by count(*) desc
Mais avec cette syntaxe, je récupère 2 lignes pour le même utilisateurs, or je souhaiterais une seule ligne par utilisateur.
J'ai essayé de la modifier pour la regrouper, mais je n'y arrive pas.

Si l'un de vous pourrais m'aiguiller, je vous en serais reconnaissant.
Merci d'avance.