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 :
Mais avec cette syntaxe, je récupère 2 lignes pour le même utilisateurs, or je souhaiterais une seule ligne par utilisateur.
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
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.
Partager