Bonjour,

J'ai 2 tables A (personne) et B (affectation).
Dans la première table A, j'ai les champs "identifiant", "nom" et "prenom".
Dans la 2ème tabe B, j'ai les champs "identifiant", "statut", "dateArrivee" et "dateDepart".

j'aimerais afficher un tableau dans lequel on a : "identifiant", "nom", "prenom" et "statut"

sachant que la colonne statut doit afficher le statut actuel. S'il n'y a pas de statut elle affiche "-" .

J'ai essayé de faire la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select distinct a.identifiant, a.nom, a.prenom, b.statut
  from A a, B b
 where a.identifiant = b.identifiant
Mais dans ce cas j'ai plusieurs lignes pour la même personne avec ces différents statuts, alors que j'ai besoin qu'une seule ligne pour chaque personne avec son statut actuel s'il existe.

J'ai essayé aussi la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select distinct a.identifiant, a.nom, a.prenom, b.statut
  from A a, B b
 where a.identifiant = b.identifiant
   and b.dateArrivee <= 'dateAujourdhui'
   and b.dateDepart  >= 'dateAujourdhui'
Mais dans ce cas si une personne n'a pas de statut actuellement, il ne sera pas affiché alors que j'ai besoin de l'afficher même s'il n'a pas de statut et en mettant dans ce cas un "-" dans la colonne statut.

Que dois-je faire ?