1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| WITH T AS
(SELECT 1 numseq, 111 idart, 'Submit' action, TO_DATE('20/12/2017', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 2 numseq, 111 idart, 'Approuve' action, TO_DATE('28/12/2017', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 3 numseq, 111 idart, 'Approuve' action, TO_DATE('04/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 4 numseq, 111 idart, 'Accept' action, TO_DATE('10/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 1 numseq, 222 idart, 'Submit' action, TO_DATE('02/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 2 numseq, 222 idart, 'Approuve' action, TO_DATE('03/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 3 numseq, 222 idart, 'Accept' action, TO_DATE('20/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 4 numseq, 222 idart, 'Approuve' action, TO_DATE('24/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 1 numseq, 333 idart, 'Submit' action, TO_DATE('25/12/2017', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 2 numseq, 333 idart, 'Approuve' action, TO_DATE('07/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
UNION ALL SELECT 3 numseq, 333 idart, 'Approuve' action, TO_DATE('15/01/2018', 'DD/MM/RRRR') dteaction FROM DUAL
)
SELECT idart, MAX(DECODE(action, 'Approuve', dteaction)) last_approb, MAX(DECODE(action, 'Accept', dteaction)) last_accept
FROM T
WHERE action IN ('Approuve', 'Accept')
GROUP BY idart
ORDER BY 1 |
Partager