-
Aide requête SQL
Bonjour,
Voila depuis quelques temps je me prend la tête avec une requête qui me prend le chou !!!
Voila mon problème.
Je dois crée une requête qui me permet de definir une date à travers une valeur, qui ensuite me permettra de calculer un Cumul CA (Chiffre d'affaire).
Donc voila j'ai réussi à détérminer avec la fonction DECODE à quelle période je dois commencer pour faire mon cumul. La fonction est la suivante
Decode(To_Char(Date,'mm'),
'10',To_Char(Date,'yyyy'),
'11',To_Char(Date,'yyyy'),
'12',To_Char(Date,'yyyy'),
To_Char(Add_Months(Date,-12),'yyyy'))
En fonction de la date rentrée il me détermine à quand je dois commencer.
Mais le problème et que je ne peut pas faire un cumul par la suite avec ce résultat. car je l'utilise dans la clause select de m'a requête
Je travaille sous oracle
Voila j'éspére que je suis un peu clair dans mon explication merci
-
Je vois pas le problème, il te suffit de grouper par ce DECODE
PS : :tagcode: (l'icône # lorsqu'on écrit un message)
-
Je ne suis pas sûr d'voir tout compris, mais tu peux mettre le DECODE dans la clause "GROUP BY" pour faire un cumul par periode.
Exemple :
Date_CA | CA
05/11/2008 1500
12/12/2008 2000
01/08/2008 1500
07/07/2008 4000
avec le requête :
select Decode(To_Char(Date_dca,'mm'),
'10',To_Char(Date_dca,'yyyy'),
'11',To_Char(Date_dca,'yyyy'),
'12',To_Char(Date_dca,'yyyy'),
To_Char(Add_Months(Date_dca,-12),'yyyy')) a, sum(dca)
from matable
group by Decode(To_Char(Date_dca,'mm'),
'10',To_Char(Date_dca,'yyyy'),
'11',To_Char(Date_dca,'yyyy'),
'12',To_Char(Date_dca,'yyyy'),
To_Char(Add_Months(Date_dca,-12),'yyyy'))
On obtient :
a | sum(dca)
2008 3500
2007 5500
C'est le résultat recherché?