Bonjour à tous,
je vous expose mon problème,
j'ai 2 tables, une première contenant des codes, des montants et des années.
Une deuxième contenant des codes, des années et des taux et des regroupements.
Je souhaite faire une jointure entre ces deux tables afin de retrouver pour chaque code de ma 1ere table le montant ventilé par regroupements en fonction des taux de ma 2eme table par année.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select TB1.code,TB1.montant,TB1.annee,TB2.taux,TB2.regroupement,TB2.annee, (TB2.taux*TB1.montant) montant_prorate
from TB1
left outer join TB2 on TB2.code=TB1code
where TB2.annee='xxxx'
Mon problème est que lorsque dans ma table 2 le code n'existe pas pour une année, mon montant proraté est faux quand je filtre sur l'année en question.

Je dois avouer que je bloque, peut-être faut-il créer une boucle afin que si pour un code une année n'existe pas, une ligne se créée soit identique à la celle de l'année précédente soit plus simplement avec un taux =1 indépendamment du regroupement (quitte à ce que ce regroupement soit vide).

J'espère être suffisamment clair, sinon n'hésitez pas me le dire,

merci d'avance,