Bonjour,
je me retrouve confronté à un problème sur des jointures externe portant sur la meme table.
EX: 2 tables
Historique( date, refTache, valeur,)
Tache(idTache, libelle )
je peux avoir
Historique (1-1-2006, 0, 1)
Historique (1-1-2006, 0, 2)
Historique (5-5-2008, 5, 1)
Historique (5-5-2008, 2, 2)
Historique (5-5-2008, 1, 3)
et 3 tuples pour la table Tache
Je voudrais les valeurs pour chaque tache pour les historiques à 2 dates différentes
Par exemple avec la requete suivante:
select t.libelle, histo2.valeur, histo1.valeur
from
Tache t
inner join Historique histo2 on histo2.reftTache = t.idTache
left outer join Historique histo1 on histo1.refTache = histo2.refTache
where histo1.date = 'yyyyy'
AND histo2.date = 'xxxxx'
group by histo2.refTache;
je voudrais donc obtenir pour toutes les taches qui sont présentes dasn histo2, la valeur dans histo1 ou NULL si elle n'existe pas
Or ca ne marche pas et j'obtient que les enregisterment communs (tache 1 & 2, mais pas la 3, comme si le left join se comportait en inner join).
En fait ce probleme est recurant sur plusieurs requetes que j'ecris en ce moment...
Je pense que ca vient d'une mauvaise comprehension des jointures, si pouvez vous pouviez m'aider...
merci d'avance
Partager