Requete difficile

Fermé
ixitage Messages postés 11 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 9 janvier 2008 - 25 sept. 2007 à 10:29
ixitage Messages postés 11 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 9 janvier 2008 - 25 sept. 2007 à 11:03
bonjour, j'ai un probleme, je doit effectuer une requete en sql assez compliquée etant donné que je debute...
Je travaille avec Iseries (sous AS400)

voici ma base de départ

personne -- datedenaissance -- datedufichierdecréation -- CodeMvt

toto -- 19870605 -- 20060813 -- A
toto -- 19870605 -- 20061102 -- C
lili -- 20000530 -- 20071225 -- A
lili -- 20000530 -- 20071225 -- C
lili -- 20000530 -- 20071103 -- M
juju -- 19931201 -- 20070708 -- M

Ce que je veux obtenir : (Dans les deux premiers champs si les lignes sont identiques (ex : "toto 19870605" apparait deux fois) il faut aller regarder leurs datedufichierdecréation correspondantes et ne selectionner que la plus récente, il peut arriver que pour une meme personne il y est 2 fois la meme datedufichierdecréation (ex : lili 20000530 200071225 ) dans ce cas la il faut comparer les CodeMvt et selectionner le dernier dans le cas ( lili 20000530 200071225 ) on selectionne la ligne ou le CodeMvt est C etant donné qu'il est le dernier.

La table que je veux obtenir :

personne -- datedenaissance -- datedufichierdecréation -- CodeMvt


toto -- 19870605 -- 20061102 -- C

lili -- 20000530 -- 20071225 -- C

juju -- 19931201 -- 20070708 -- M


Merci de votre aide, je ne sais pas du tout comment aborder cette requete.
A voir également:

2 réponses

Il faudrait que tu te renseignes sur la clause DISTINCT, qui te permettra de ne choisir que les lignes sans doublons.
Pour la date, il faut te renseiugner sur la clause GROUP BY et HAVING comme critère de regroupement =/
0
ixitage Messages postés 11 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 9 janvier 2008
25 sept. 2007 à 11:03
Un distinct ne suffit malheureusement pas dans mon cas...je pensse que j'ai besoin d'une boucle afin de tester ligne par ligne mes données mais je n'en ai jamais fait, du coup je rame un peu..
0