Je n'arrive pas a m'en sortir.
J'ai une requete qui me sort les contrats de chaque salarie ainsi que le temps de travail.
Mon souci est que lorsqu'un salarie prolonge un CDD, je dois avoir qu'une seule ligne pour ce salarie avec la date de début , la date de fin et la durée totale.
Si par contre, le CDD est repris plus tard, ca me fait 2 CDD pour ce salarie...

CEM_LIB CTR_LIB SAL_MATR TEMPS_ID_DEB TEMPS_ID_FIN DUREE TEM_TAUX DATE_TEMPS_CONTRAT
Complet Durée déterminée 130207 11/07/2005 31/12/2005 173 0.0 0
Complet Durée déterminée 130207 01/01/2006 31/03/2006 89 0.0 0
Complet Durée déterminée 130207 01/04/2006 31/12/2006 274 0.0 0
Complet Durée déterminée 130207 01/01/2007 31/03/2007 89 0.0 0


Voici ma requete :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT E.CEM_LIB
,CTR_LIB
,H.SAL_MATR
, TO_CHAR(TO_DATE('30.12.1899', 'DD/MM/YYYY') + H.CON_DU + 2)as TEMPS_ID_DEB
, TO_CHAR(TO_DATE('30.12.1899', 'DD/MM/YYYY') + H.CON_AU + 2)as TEMPS_ID_FIN
 
, DECODE (H.CON_AU,'0','',(H.CON_AU) - (H.CON_DU)) as DUREE
, HP.TEM_TAUX 
,HP.TEM_DATE as DATE_TEMPS_CONTRAT
FROM SALARIE S LEFT JOIN H_CONTRAT H ON H.SAL_MATR=S.SAL_MATR
LEFT JOIN CCMX.H_TEMPART HP ON HP.SAL_MATR=S.SAL_MATR
LEFT JOIN AR_CONTRAT A ON A.CTR_ID=H.CTR_ID
LEFT JOIN AR_CEMPLOI E ON E.CEM_ID=S.CEM_ID
Merci d'avance de votre aide...