Bonjour,
J'ai deux tables Reglement et Taux comme ci-dessous, et je voudrais les associer pour obtenir le résultat ci-dessous (voir tout en bas).
J'ai essayer cette requête mais ça ne fonctionne pas:
Le but est de sommer les montants par date, et de leur associer le taux correspondant à la période.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT date, sum(montant*signe), taux FROM reglement r, taux t WHERE r.date >= '01/01/2010' AND r.date <= '05/01/2010' AND t.date < r.date GROUP BY r.date
Un taux est valable pour toute la période entre la date indiquée pour le taux et la date du taux suivant.
Quelqu'un aurait une solution svp?
merci.
ps: je suis sous Oracle 9i.
Et voici ce que je veux obtenir en resultat de ma requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Table Reglement: --------------------------------- | date | montant | signe | --------------------------------- | 31/12/2009 | 100 | 1 | | 01/01/2010 | 100 | -1 | | 01/01/2010 | 200 | 1 | | 01/01/2010 | 150 | 1 | | 03/01/2010 | 50 | -1 | | 03/01/2010 | 10 | -1 | | 04/01/2010 | 100 | -1 | | 05/01/2010 | 150 | 1 | | 06/01/2010 | 50 | 1 | ---------------------------------- Table Taux: --------------------- | date | taux | --------------------- | 01/12/2009 | 2.5 | | 16/12/2009 | 3.5 | | 04/01/2010 | 1.5 | ---------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Resultat voulu: ---------------------------------------- | date | sum(montant*signe) |taux | ---------------------------------------- | 01/01/2010 | 250 | 3.5 | | 03/01/2010 | -60 | 3.5 | | 04/01/2010 | -100 | 1.5 | | 05/01/2010 | 150 | 1.5 | ----------------------------------------
Partager