Bonjour

je souhaite récupérer dans une table l'enregistrement le plus récent en faisant une jointure avec la table contenant ma clé primaire.
Concrètement :
table1 : macle1 (cle primaire), monchamps1
table2 : macle2, monchamps2, datecreation2

Requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select macle1,monchamps2,max(datecreation2)
from table1 p1, table2 p2
where macle1 = macle2
==> dans ce cas je veux la bonne valeur de monchamps2 et datecreation2 en utilisant la fonction max(datecreation2)

MAJ : j'ai trouvé une solution qui me semble pas performante sur un gros volume de données

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
select macle1,monchamps2,datecreation2
from table1 p1, table2 p2
where macle1 = macle2
and datecreation2 = (
             select max(datecreation2)
             from table1 p1, table2 p2
             where macle1 = macle2
              )
si quelqu'un a quelque chose de meilleur je suis preneur.


merci d'avance,
:-)