Je vais essayer de vous presenter le problème:
Voici mes tables:
La premiere table "Generale" represente ce que le debiteur doit payer aux differents adhérent (domaine bancaire):
-----------------------------------------------------------------
Adhérent Debiteur date facture (euro)
-----------------------------------------------------------------
1 | 2 | 2006/08/01 1000
1 | 2 | 2006/08/15 1500
1 | 2 | 2006/08/26 2000
1 | 2 | 2006/10/23 4000
2 | 2 | 2006/08/10 500
2 | 2 | 2006/09/18 1600
2 | 2 | 2006/10/28 2300
La deuxième table "derjourmois" rassemble les derniers jours du mois de l'année actuelle jusqu'à la date actuelle
-------------
derjourmois
-------------
2006/01/31
2006/02/28
2006/03/31
2006/04/30
2006/05/31
2006/06/30
2006/07/31
2006/08/31
2006/09/30
2006/10/31
L'objectif est de créer une requete SQL qui recuperera à partir d'un "numéro de debiteur" ce qu'il doit payer à la fin de chaque fin mois de l'année.
c'est à dire qu'on en registrera pour chaque fin de mois la derniere facture enregistrer pour chaque adhérents et puis faire la somme.
Exemple: prenant le debiteur '2' . pour le 30/08/2006 par exemple, la dernire facture enregistrer pour l'adhérent '1' est:
------------------------------------------------------
1 | 2 | 2006/08/26| 2000
------------------------------------------------------
et pour l'adherent '2' ça sera:
------------------------------------------------------
2 | 2 | 2006/08/10| 500
------------------------------------------------------
alors le resultat est:
-------------------------------------------
Debiteur facture date
-------------------------------------------
2 | 2500 | 2006/08/31
pour le 30/09/2006, il n'y a pas d'enregistrement pour le debiteur '2' et l'adhérant '1' alors c'est toujours:
------------------------------------------------------
1 | 2 | 2006/08/26| 2000
------------------------------------------------------
pour l'adhérent '2' c'est:
------------------------------------------------------
2 | 2 | 2006/09/18| 1600
------------------------------------------------------
Le resultat est:
-------------------------------------------
Debiteur facture date
-------------------------------------------
2 | 3600 | 2006/09/30
Le resultat final est:
-------------------------------------------------
Debiteur date facture (euro)
-------------------------------------------------
2 | 2006/08/31| 2500
2 | 2006/09/30| 3600
2 | 2006/10/31| 6300
Ce que j'ai réussi à faire c'est: avoir le resultat sans se preoccuper de l'adhérent et du debiteur. voici la requete:
SELECT derjourmois, facture
FROM General, derjourmois
WHERE date = (SELECT MAX(date) FROM general where derjourmois >= date);
Aprés tout les requetes que j'ai pu créer ne donner rien.
Partager