Solde ligne par ligne

Résolu
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -  
 oholabi -
Bonjour, j'ai cette requête et je souhaiterais avoir le solde ligne par ligne c'est à dire Montantdebit- montantcredit sur chaque ligne en tenant compte du solde précédent, voici la requête :
SELECT Commandes.idClient, client.nomcomplet, client.adresse, client.tel, client.ville,
Commandes.DateCommande , Commandes.CodeFacture, "Commande"as operation,
Commandes.MontantTTC AS MONTANTDEBIT, Commandes.MontantRegle AS MONTANTCREDIT
FROM client RIGHT JOIN Commandes ON client.idclient = Commandes.idClient
UNION ALL
SELECT Avance.Idlient, client.nomcomplet, client.adresse, client.tel, client.ville,
Avance.DateAvance, "", "Avance",
0, Avance.MontantAvance
FROM client INNER JOIN Avance ON client.idclient = Avance.Idlient
order by DateCommande;
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
bonjour,
donnons un nom à cette requête, appelons-là det.
essayons ceci:
select d1.idClient, d1.DateCommande, d1.nomcomplet, d1.adresse, d1.tel, d1.ville,
d1.CodeFacture,  d1.operation,  d1.MONTANTDEBIT,  d1.MONTANTCREDIT,
sum(d2.MONTANTDEBIT - d2.MONTANTCREDIT) as solde
from det as d1, det as d2
where d1.idClient = d2.idClient and d1.DateCommande >= d2.DateCommande
group by d1.idClient, d1.DateCommande, d1.nomcomplet, d1.adresse, d1.tel, d1.ville,
d1.CodeFacture,  d1.operation,  d1.MONTANTDEBIT,  d1.MONTANTCREDIT
order by d1.idClient, d1.DateCommande
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir , je reçois le message suivant: Reference circulaire causé par << det>>
est ce que la requête tient compte d'une période donnée c'est à dire entre deux dates ( datedebut) et (datefin ) , aussi d1 et d2 utilisés dans la requête det représente quoi ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
tu as bien nommé
det
la requête que tu as partagée au début de la discussion?
penses-tu que la requête tient compte d'une période donnée?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 
si tu travailles avec une période, veux-tu que le solde soit mis à zéro au début de la période?
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bjr, je ne vois pas l'importance de mettre le stock à zéro ou pas au début de la période
Pouvez vous m'expliquer la portée
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
reprenons ton tableau.
si la période commence au 8/1, quel solde veux-tu avoir en première ligne pour le 8/1: 60000 ou 210000?
faut-il tenir compte du solde des opérations avant la période?
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui il faut tenir compte du solde antérieur sauf si il est à zéro
Merci encore
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
alors il ne fait pas appliquer la période dans les trois requêtes de base pour calculer les soldes, il fait l'appliquer après.
0