2 colonnes "count" dans un select ?
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:
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.