Correspondance multiple avec sélection de l'entrée la plus récente
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 :
Code:
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(...) |
Votre avis ? est-ce optimal ?
Merci d'avance !