Bonjour,
je m'addresse à vous car pour résoudre un problème j'utilise une méthode que je pense assez barbare, et j'aimerais avoir vos conseils pour faire plus simple. Le problème est le suivant :
J'ai une table possédant 4 colonnes : id, nom, date_not, référentiel
référentiel vaut 0 ou 1, les id sont uniques évidemment, et les noms et dates ne le sont pas nécessairement.
Par contre, pour une date_not, un référentiel et un nom il n'y a qu'un seul id.
Je cherche une reqête simple permettant de me donner la liste des ids tels que :
- il y a un id pour chaque nom de la liste
- la date est la plus récente pour ce nom
- le référentiel est 1 s'il y a plusieurs lignes ayant même noms et date, et 0 sinon
Ce que je fais pour l'instant :
Je sélectionne nom et max(date_not) en groupant par nom, et je joins le résultat à ma table sur les champs nom et date_not, j'obtiens ainsi la liste des dates maximales pour chaque nom, et les id correspondants.
Ensuite, j'applique le même procédé à cette liste en groupant par nom et sélectionnant le nom et max(référentiel).
Quelque chose me dit qu'il doit y avoir plus simple, car j'ai ici énormément de sous requêtes...
J'espère que j'ai été a peu près clair et vous remercie pour toute aide!
Partager