Bonjour,
j'utilise SQL Developper sur une base Oracle.
j'ai une table de transformateurs électriques et une table de mouvements sur ces transformateurs
un transformateur peut avoir 0 à n mouvements
Je veux récupérer l'intégralité de mes transfos, et si le transfo possède au moins un mouvement, récupérer le mouvement le plus récent
pour joindre mes 2 tables, j'ai fait au plus simple :
ça, ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select transfo.CODE, transfo.ANNEE_FABRICATION, transfo.FABRICANT, mvt.code_mouvement, mvt.date_mouvement, mvt.motif_mouvement, from E_TRANSFORMATEUR transfo, e_mouvement_transformateur mvt where transfo.id = mvt.e_transformateur(+)
mais pour récupérer uniquement le dernier mvt, je voudrais y ajouter cette clause tout en restant sur une jointure externe :
Et là je sèche... ou dois-je ajouter le "(+)" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 and mvt.date_mouvement in (select max(mvt2.date_mouvement) from e_mouvement_transformateur mvt2 where transfo.id = mvt2.e_transformateur )
Partager