Bonjour à tous!
Je voudrais faire juste la somme des recettes et dépenses. Et je souhaiterais que quand l'utilisateur choisis par ex le mois de mai j'obtienne la somme du mois précédent c'est à dire le mois d'avril et affiche
S'il choisi la période de décembre 2015 il obtiendra
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Mois ¦ solde 04-2017 | 200 000.
Pour cela j'ai utilisé une vue qui m'avais été proposé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Mois | solde 11-2015 | 100 000
A cette vue j'ai saisi le code de cette procédure stockée avec 2 paramètre de type date (date1 et date2)qui exécutera la vue
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 create view `vue` as (select M.mvt_id, E.cr_id AS Rang, date_format(M.mvt_date, "%Y-%m") AS Periode, M.mvt_date, R.cr_ref AS Reference, R.cr_motif AS Motif, R.cr_Montant AS Recette, 0 AS Depense from carnetrecette as R inner join entree as E on E.cr_id = R.cr_id inner join mouvement as M on M.mvt_id = E.mvt_id having periode = date_format(M.mvt_date, "%Y-%m-%d") or periode = date_format(M.mvt_date, "%Y-%m-%d")) union (select M.mvt_id, S.cd_id AS Rang, date_format(M.mvt_date, "%Y-%m") AS Periode, M.mvt_date, D.cd_ref AS Reference, D.cd_motif AS Motif, 0 AS Recette, D.cd_Montant AS Depense from carnetdepense as D inner join sortie as S on S.cd_id = D.cd_id inner join mouvement as M on M.mvt_id = S.mvt_id having periode = date_format(M.mvt_date, "%Y-%m-%d") or periode = date_format(M.mvt_date, "%Y-%m-%d")) order by mvt_id, rang
Mais j'obtiens une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sélect sum (cumul) From ( select @cum:=@cum + recette -depense as cumul, From vue Cross join (select @cum:=0) as x) y Where période between date1 and date2 And month(periode)-1
NB j'aimerais le faire avec une procédure stockée.
Partager