Bonsoir
je vous expose mon problème qui est pour moi difficile à résoudre, tous d'abord voici mes tables :
voici pour la tablepersonnels :
id_pers (int, auto incrémenté)
pers_nom (varchar)
pers_prenom (varchar)
pers_grade (pointe sur l'id de la table grade)
pers_matricule (varchar)
pers_centre (pointe sur l'id de la table centre)
voici ma table manœuvres qui recense les manœuvres que le personnel peut faire :
id_fma (int, auto incrémenté)
fma_libelle (varchar)
et enfin ma table pointage qui recense les manœuvres que le personnel à fait à une date précisé :
id_pointer (int, auto incrémenté)
pointer_sp (pointer sur l'id de la table personnels)
pointer_fma (pointe sur l'id de la table manœuvre)
pointer_date (date de la réalisation)
et j'ai crée une requête pour afficher le nombre de manœuvres réalisés pour chaque personne que voici, et qui fonctionne :
et maintenant je cherche désespérément une requête me permettant d'afficher pour chaque personne le nombres de manœuvres non réalisé (non présente dans la table pointage):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT CONCAT(personnels.pers_nom,' ', personnels.pers_prenom,' ',grade.grd_grade) AS Nom, COUNT( DISTINCT pointage.pointer_fma ) AS nbreValide FROM pointage INNER JOIN personnels ON pointage.pointer_sp = personnels.id_pers INNER JOIN grade ON personnels.pers_grade = grade.id_grade INNER JOIN manoeuvres ON pointage.pointer_fma = manoeuvres.id_fma WHERE pointage.pointer_sp IN (SELECT personnels.id_pers FROM personnels) GROUP BY pointage.pointer_sp
j'ai essayé ceci mais elle ne me retourne rien :
Si vous auriez une piste je suis preneur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT CONCAT(personnels.pers_nom,' ', personnels.pers_prenom,' ',grade.grd_grade) AS Nom, (SELECT count( * )FROM personnels) - count( DISTINCT pointage.pointer_sp ) AS cnt FROM pointage INNER JOIN personnels ON pointage.pointer_sp = personnels.id_pers INNER JOIN grade ON personnels.pers_grade = grade.id_grade INNER JOIN manoeuvres ON pointage.pointer_fma = manoeuvres.id_fma WHERE pointage.pointer_sp IN (SELECT personnels.id_pers FROM personnels) GROUP BY pointage.pointer_sp
d'avance merci
Partager