Bonjour,
Petit problème sur comment interpréter la requete pour obtenir le résultat souhaité.
Exemple
(cf. tableau en pièce jointe.)
On a une liste des personnes disposant de plusieurs contrats. Je souhaite récupérer le contrat CDI (date null) ou bien la date du contrat la plus récente !
Sur la pièce jointe, je vous ai surligné les lignes qu'on veut garder.
Requete presque bon :
Le souci avec cette requête, ça me sort 2 lignes doublons pour les personnes ayant un contrat CDI et un CDD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT nom,prénom,date FROM table a where ( (date is null) OR date=(SELECT MAX(b.date) FROM table b))
exemple sur le tableau :
pour la personne A Thomas j'ai la ligne avec date vide et également celui avec date=05/08/2012.
j'ai essayé plusieurs combinaisons qui deviennent vite casse-tête...
Avez-vous une idée pour solutionner ce problème ?
[Edit] : j'utilise bien SQL Server pour faire les requêtes
Merci d'avance.
Partager