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 26 27 28 29 30 31 32 33 34 35 36
| SELECT Num_Inter,Matricule,Nom_Agent,[Date], Centre,Engin,Renfort,Num_Dep_Eng, Debut,Fin,Num_Depart, Annee
,LAG(Fin,1) OVER (PARTITION BY Matricule ORDER BY Debut) HeureFinLignePrecedente
,CASE WHEN LAG(Fin,1) OVER (PARTITION BY Matricule ORDER BY Debut) > Debut THEN 'Incohérent' ELSE 'Ok' END EtatDeLaMesure
FROM (
SELECT DISTINCT AE1.Num_Inter,
AE1.Matricule,
AE1.Nom_Agent,
AE1.[Date],
AE1.Centre,
AE1.Engin,
AE1.Renfort,
AE1.Num_Dep_Eng,
AE1.Debut,
AE1.Fin,
AE1.Num_Depart,
AE1.Annee
FROM (
SELECT RIGHT(AE.ID_INTERVENTION,5) Num_Inter,
AE.ID_AGENT Matricule,
AE.NOM_PRENOM_AGENT Nom_Agent,
CONVERT(VARCHAR,AE.DH_DEBUT_INTER,103) Date,
AE.ID_TYPE_ENGIN+' '+ CONVERT(VARCHAR,AE.NUMERO_MATERIEL) Engin,
AE.NUM_RENFORT Renfort,
AE.NUM_ORDRE_DEPART_ENGIN Num_Dep_Eng,
C.LIB_CENTRE Centre,
AE.DH_DEPART Debut,
AE.DH_FIN Fin,
ROW_NUMBER( ) OVER(PARTITION BY AE.NOM_PRENOM_AGENT,CONVERT(VARCHAR,AE.DH_DEPART,103) ORDER BY RIGHT(AE.ID_INTERVENTION,5),AE.DH_DEPART) Num_Depart,
YEAR(AE.DH_DEBUT_INTER) Annee
FROM OPS_AGENT_ENGAGE AE
INNER JOIN OPS_CENTRE C ON C.ID_CENTRE = AE.ID_CENTRE
) AE1
WHERE AE1.Annee = YEAR(GETDATE())
) LaTable
ORDER BY Nom_Agent,Debut |
Partager