Bonjour,
J'ai un soucis pour résoudre ma requete.
Il y a deux tables, une table avec une liste de personne et une autre avec des pointages en datetime réalisé au jours le jours.
Je souhaite récupéré le dernier pointage de ce jour, de chaque personne.
Le problème avec le résultat de ma requete c'est que j'ai le 1er pointage de la journée en cours mais pas le dernier car ORDER doit être après le GROUP donc je ne sais pas trier la colonne datetimepointage pour n'avoir que le dernier pointage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT e.id, e.initiale, nom, prenom, e.type, p.datetimepointage FROM employer as e LEFT JOIN pointage as p ON e.initiale = p.initiale WHERE e.type = 1 and ((DAY(datetimepointage)= '$jour' and MONTH(datetimepointage)= '$mois' and YEAR(datetimepointage)= '$annee')) GROUP BY p.initiale ORDER BY p.initiale, datetimepointage
Autre problème, je souhaiterais voir toute les personne dans ma liste même celle qui n'ont pas pointé ce jour. Si une personne n'a pas encore pointé elle n'est pas présente dans le résultat de ma requete actuelle et je voudrais l'afficher.
Donc pour résumé, je souhaite afficher la liste de toute les personnes avec un e.TYPE = 1 et voir à tous leurs derniers pointage 'datetimepointage' de ce jour.
Comment faire dans ce cas ?
D'avance merci ,
Steph
Partager