bonjour
supposons que j'ai cette table de pointage
et la table salariés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE POINTAGE ( ID_POINTAGE INTEGER NOT NULL, PO_ID_SALARIE INTEGER, /* clé étrangère */ PO_ENTREE TIMESTAMP, PO_SORTIE TIMESTAMP );
je compte le nombre de jours travaillé pour chaque salarié j'utilise cette requette
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE SALARIES ( ID_SALARIE INTEGER NOT NULL, SAL_NOM VARCHAR(100), SAL_PRENOM VARCHAR(100) )
maintnant est t'il possible de compter le nombre d'absences dans cette même requette ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT po.po_id_salarie, sal.sal_nom, sal.sal_prenom, count(DISTINCT (cast (po_entree AS date))) FROM pointage po JOIN salaries sal ON po.po_id_salarie= sal.id_salarie WHERE cast(po_entree AS date) BETWEEN :d1 AND :d2 AND NOT po_sortie IS NULL GROUP BY 1,2,3
merci et bonne journée !
Partager