Bonjour,
voilà je sollicite votre avis sur une requête SELECT.
J'ai deux tables AA et BB. Pour simplifier, les colonnes de AA sont AAID (clé primaire), les colonnes de BB sont AAID, BBID (clé primaire), BBDATE, BB.AAID étant une clé étrangère sur AA.AAID.
Pour un AA.AAID, il peut exister plusieurs enregistrements dans BB avec des BBDATE différents.
Je souhaite par une requête récupérer l'ensemble des AA.AAID tels que pour chacun la date la plus récente correspondante dans la table BB soit comprise entre deux dates données, j'ai fait ceci :
Votre avis ? est-ce optimal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT AA.AAID FROM AA, BB WHERE AA.AAID = BB.AAID AND BB.BBDATE = (SELECT MAX(B.BBDATE) FROM BB B WHERE BB.AAID = B.AAID) AND BB.BBDATE >= TO_DATE(...) AND BB.BBDATE <= TO_DATE(...)
Merci d'avance !
Partager