Bonjour,
je tourne en rond pour avoir un résultat correct avec une jointure :
j'ai 2 tables :
- Tab1 avec les champs id, description, etat
- Tab2 avec les champs id, id_tab1, valeur, dateMaj
et ma jointure
select t1.id, t2.valeur from Tab1 as t1 join Tab2 as t2 on t1.id=t2.id_Tab1
mais lorsque l'on regarde le résultat j'ai des lignes en double
Voici des valeurs d'exemple des 2 tables
Tab1 :
1,'X','Etat1'
2,'Y','Etat2'
Tab2
1,1,'A',2014-10-01
2,2,'C',2014-10-01
3,2,'B',2014-10-02
résultats de la jointure :
1,'A'
2,'C'
2,'B'
et je voudrais
1,'A'
2,'B' => le dernier par date de Tab2 pour cet id_Tab1
le problème il y a 2 lignes dans la Tab2 et je ne voudrait que la dernière (du point de vue date), j'ai essayé avec la 2ème table de la jointure en faisant un "Select id,id_tab1,max(valeur),max(dateMaj) from tab2 group by id,id_tab1" mais cette requête Select me renvoi 'C' le plus haut par ordre alphabétique (et non pas le dernier dateMaj) et la dernière date
Si quelqu'un peut m'expliquer comment faire, je ne vois vraiment pas.
Merci d'avance.
Alain
Partager