Un petit problème de dates que je n'arrive pas à traiter
le but est de déterminer la présence d'un employé pendant une période donnée
Pour ce faire on dispose de 2 tables :
la table A
COEMP = code employé
AFFEC = code d'affectation.
la table B
COEMP = code employé
AFFECOLD = Code d'affectation précédent
DATLIM = date de fin d'affectation à ce code
Comment trouver l'ensemble des employés affectés à un code entre le 1/06/08 et le 30/06/08. 1 seul jour d'affectation suffit pour être présent dans cette liste.
Quelques exemples :
on recherche le code AFFEC = 'BB'
table A
COEMP = 1 AFFEC = 'BB'
COEMP = 2 AFFEC = 'AA'
COEMP = 3 AFFEC = 'BB'
COEMP = 4 AFFEC = 'CC'
Table B
COEMP = 2 AFFECOLD = 'BB' DATLIM = '15/07/08'
COEMP = 3 AFFECOLD = 'AA' DATLIM = '15/07/08'
COEMP = 4 AFFECOLD = 'BB' DATLIM = '15/06/08'
COEMP = 4 AFFECOLD = 'AA' DATLIM = '14/06/08'
COEMP = 3 AFFECOLD = 'BB' DATLIM = '15/05/08'
RESULTAT : COEMP = 1 doit apparaitre ... pas de changement dans table B
donc présent
COEMP = 2 également changement le 15/07 auparavant = 'BB'
COEMP = 3 ne doit pas apparaitre (affecté à 'AA' pour cette période)
COEMP = 4 doit apparaitre (présent le 15/06)
Comment régler ce problème en langage SQL ?
d'avance merci
Partager