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 37
|
;WITH CTE AS (
SELECT
agent.code_agent,
agent.nom_agent,
agent.prenom_agent,
indisponibilte.date_debut_indisponibilte,
indisponibilte.date_fin_indisponibilte,
decision.date_debut_decision,
decision.date_fin_decision,
decision.code_agent,
indisponibilte.code_agent
,ROW_NUMBER() OVER(
PARTITION BY agent.code_agent
ORDER BY indisponibilte.date_fin_indisponibilte, decision.date_fin_decision
) AS Rn
FROM agent
INNER JOIN decision
ON agent.code_agent=decision.code_agent
INNER JOIN indisponibilte
ON agent.code_agent=indisponibilte.code_agent
WHERE
decision.date_fin_decision>='2013-07-02'
AND indisponibilte.date_fin_indisponibilte<'2013-06-01'
)
SELECT
agent.code_agent,
agent.nom_agent,
agent.prenom_agent,
indisponibilte.date_debut_indisponibilte,
indisponibilte.date_fin_indisponibilte,
decision.date_debut_decision,
decision.date_fin_decision,
decision.code_agent,
indisponibilte.code_agent
FROM CTE
WHERE Rn = 1 |
Partager