Problème de jointure externe
Bonjour,
Voici mon problème j'ai deux tables
A
---
ID | NOM |
B
---
ID | VILLE | DATE
Et j'ai une jointure externe car toutes les lignes de A n'ont pas forcément de correspondance dans B. Mais quand il y a correspondance il y peut y avoir plusieurs ligne en fonction de la date.
Je cherche à sortir les infos suivantes
ID|NOM|VILLE
Je veux que VILLE soit la dernière en date pour cet ID et je veux que quand il n'y a pas de correspondance entre A et B, j'ai quand même la ligne ID | NOM | NULL.
Et je n'y arrive pas du tout, le fait de rajouter une close sur la date dans le where fait sauter ma jointure externe et je n'ai plus les lignes NULL.
Y-a-t-il une solution ??
Voici ma requête :
Code:
1 2 3 4 5 6
| SELECT A.ID, A.NOM, B.VILLE
FROM A, B
WHERE
A.ID = B.ID (+)
AND
( B.DATE = (SELECT MAX(t.DATE) FROM B t WHERE B.ID= t.ID AND t.DATE<= SYSDATE) ) |
Merci de votre aide