Bonjour à tous !
J'ai un petit problème, je n'arrive pas à écrire une certaine requête.
Je vous expose le problème :
Ma table est comme ceci :
Tout simplement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 T_TABLE(personne_id, personne_status, personne_date)
J'aimerais récupérer tous les enregistrements qui satisfont ces contraintes :
- personne_date <= 'Une date D1'
- je ne veux pas 2 enregistrements tel que enregistrement1.personne_id = enregistrement2.personne_id
- et enfin je veux les enregistrements tel que personne_date soit le plus proche possible de 'Une date D1'
En résumé, je veux un seul enregistrement par personne et que la date soit la plus proche de Date D1 sans dépasser.
Cette requête me renvoie bien les enregistrements avec personne_date le plus proche de date D1 mais rien ne me garantit que pour chaque personne_id de n'avoir qu'un seul enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM T_TABLE WHERE PERSONNE_DATE <= 'D1' ORDER BY PERSONNE_DATE DESC
Pensez vous que cela soit possible en une seule requête??
Partager