Bonsoir,
Je cherche à regrouper les employés absents et leurs badgeages (pour ceux qui ont travaillés une partie de la journée) à une date donnée.
Le problème est que je n'arrive pas à avoir les deux en même temps, Quand j'ajoute les badgeages j'ai tous les badgeages de tous les employés, alors que je voudrais seulement ceux des agents absent avec leurs congés.
La requête ci-dessous affiche correctement les employés absents, les parties commentées ajoutent les badgeages.
Je sais qu'il n'est facile pas de répondre à ma demande sans voir les tables, mais elles sont très grandes.
Si quelqu'un arrive à comprendre ma requête je le remercie pour son aide.
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 SELECT A.matric AS Matricule, A.serid AS Equipe, UPPER(C.prenom + ' ' + C.nom) AS 'Prénom Nom', D.absid AS Motif, E.libabs AS 'Libellé', CASE WHEN ISNULL(D.temps,0) = 0 THEN '' ELSE LEFT(CAST(D.temps AS varchar), 1) + ':' + SUBSTRING(CAST(D.temps AS varchar), 2, LEN(D.temps)-1) END AS 'Durée' --F.heures AS Heures, --F.minut AS Minutes, --F.ess AS Sens FROM PERSVAR A JOIN PERS C ON A.matric = C.matric JOIN AP D ON A.matric = D.matric JOIN MA E ON D.absid = E.absid --JOIN PT F ON F.matric = D.matric WHERE A.dsitud = (SELECT MAX(dsitud) FROM PERSVAR B WHERE B.matric = A.matric) AND '21-01-2010' BETWEEN D.dated AND D.datef --AND F.dats = '21-01-2010' ORDER BY C.nom
Partager