Bonjour,
Si je voulais faire une interface qui joint deux tables, mais dont on ne prends que certains enregistrements de la deuxième table. En fait, on ne ferait pas la jointure directement sur la deuxieme table, mais sur un "sous select" de cette deuxieme table. Si cette interface se traduisait en SQL, on obtiendrait quelquechose de ce genre :
Suis je obligé de créer d'abord dans une interface indépendante une table temporaire comportant le max de champ_num pour chaque cle_jointure de ma table tab2 ? C'est à dire en SQL une interface qui ferait cette commande SQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT tab1.* FROM tab1, tab2 WHERE tab1.cle_jointure=tab2.cle_jointure and tab2.champ_num = (select max(tab2bis.champ_num) from tab2 tab2bis where tab2bis.cle_jointure = tab1.cle_jointure )
Et ensuite de faire la jointure avec tab1 et la table temporaire obtenu dans la première interface.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select max(champ_num),tab2.cle_jointure from tab2 group by tab2bis.cle_jointure
Ou puis je faire tout dans une seule interface, sans table temporaire (c'est ce que je souhaiterais pouvoir faire).
J'espère avoir clairement expliqué mon problème, sinon demandez moi des précisions.
Merci.
Partager