Solde par mois tout en gardant le solde du mois précédent
faddi-amor
Messages postés
4
Statut
Membre
-
faddi-amor Messages postés 4 Statut Membre -
faddi-amor Messages postés 4 Statut Membre -
Bonsoir à tous.
je suis confronté a un soucis avec une de mes requêtes, j'aimerais avoir le solde des recettes et depenses et cela par mois tout en gardant le solde du mois précédent qui sera ajouter au mois en cours.
voici ma requete:
mais quand je proccède ainsi il fait juste le solde du mois en cours sans tenir compte du mois anterieur
puis-je sollicité votre aide SVP
je suis confronté a un soucis avec une de mes requêtes, j'aimerais avoir le solde des recettes et depenses et cela par mois tout en gardant le solde du mois précédent qui sera ajouter au mois en cours.
voici ma requete:
SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id WHERE month(m.mvt_date)=month(now())
mais quand je proccède ainsi il fait juste le solde du mois en cours sans tenir compte du mois anterieur
puis-je sollicité votre aide SVP
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
pourrais-tu expliquer ce que contiennent tes tables, comment elles sont liées et quelles sont tes index?
ainsi qu'expliquer ce que tu souhaites obtenir, peut-être en donnant un exemple? -
la table contient des montant de type Bigint.
j'utilise MySql comme BD.
voici la capture d’écran de ce code ci dessous:
SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id
il fais le cumul des recettes et dépenses en affichant a la dernières ligne le solde de la caisse.
mais quand j'essais d'afficher pour le mois en cours a travers ce code:
SELECT M.mvt_date, COALESCE( R.cr_ref, D.cD_ref ) AS reference, COALESCE( R.cr_motif, D.cD_motif ) AS motif, COALESCE( R.cr_montant, 0 ) AS recette, COALESCE( D.cd_montant, 0 ) AS depense, @cumul := @cumul + COALESCE( R.cr_montant, 0 ) - COALESCE( D.cd_montant, 0 ) AS cumul FROM Mouvement M CROSS JOIN ( SELECT @cumul:=0 ) tmp LEFT JOIN entree E ON M.mvt_id = E.mvt_id LEFT JOIN carnetrecette R ON E.cr_id = R.cr_id LEFT JOIN sortie S ON M.mvt_id = S.mvt_id LEFT JOIN carnetdepense D ON S.cd_id = D.cd_id WHERE month(m.mvt_date)=month(now())
il affiche juste les recettes et depenses du mois en cours sans tenir compte du solde des mois anterieurs