Bonjour à tous,

Je travaille sur une requête SQL pour un KPI à partir d'une table d'historique (ex : HisTable), supposant que cette table contient les données dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
NumSeq || articleID ||  Statut  || Date_Action
______ || _________ || ________ || ___________
   1   || 111       || Submit   ||  20/12/2017
   2   || 111       || Approuve ||  28/12/2017
   3   || 111       || Approuve ||  04/01/2018
   4   || 111       || Accept   ||  10/01/2018
   1   || 222       || Submit   ||  02/01/2018
   2   || 222       || Approuve ||  03/01/2018
   3   || 222       || Accept   ||  20/01/2018
   4   || 222       || Approuve ||  24/01/2018
   1   || 333       || Submit   ||  25/12/2017
   2   || 333       || Approuve ||  07/01/2018
   3   || 333       || Approuve ||  15/01/2018
Il peut avoir d'autres statuts "Approuve" après l'acceptation sur l'article.

L'objectif est d'afficher pour article, la dernière (récente) date d'approbation avant la date d'acceptation s'elle existe, et la date d'acceptation s'il existe sinon un champs null.

Pour faire simple, y'a deux cas à traiter :
- Si le statut "Accept" pour l'article existe : on affiche articleID + date dernière approbation (Accept) avant la date d'acceptation + la date d'acceptation.
- Si le statut "Accept" n'existe pas encore : on afficher articleId + date dernière approbation + NULL (date acceptation = NULL).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
articleID || Date_Action_Appr || Date_Action_Accep
_________ || ________________ || _________________
 111      ||  04/01/2018      ||    10/01/2018 
 222      ||  03/01/2018      ||    20/01/2018
 222      ||  15/01/2018      ||
j'ai réussi à afficher les deux articles accepté et je n'ai pas réussi à afficher le troisième qui n'est pas encore accepté.

Toute aide est précieux et je vous en remercie d'avance.