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