Bonjour,

j'ai une table qui ressemble à :

identifiant;datdeb;datfin
1;01/01/2015;12/02/2016
1;13/02/2016;18/11/2017
1;19/11/2017;<null>
2;01/02/2012;18/11/2015
2;19/11/2015;21/12/2016
2;22/12/2016;31/12/2017

je cherche à récupérer dans une requête pour chaque identifiant la dernière date de fin connue. Dans l'exemple ci-dessus je voudrais obtenir :

1;<null>
2;31/12/2017

La requête que j'utilise est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT a.identifiant, a.datfin
FROM matable a
WHERE a.datfin is null or datfin = (select max(datfin) from matable b where b.identifiant = a.identifiant);
Or j'obtiens

1;18/11/2017
1;<null>
2;31/12/2017

Où est mon erreur ?

Merci de votre aide