Bonjour,
Je suis sur Firebird 2.5
Je souhaite faire la moyenne glissante d'une colonne QT sur les 3 dernières dates inf ou égal DateDiff
La table contient 3 colonnes :
Code, DateDiff, QT
15 02.01.2014 25
15 03.01.2014 135
15 04.01.2014 35
15 07.01.2014 19
15 09.01.2014 39
15 10.01.2014 50
15 13.01.2014 40
15 14.01.2014 54
J'ai une procédure stockée qui réalise le calcul de la moyenne, elle fonctionne.
Je souhaite faire appel à la procédure, pour obtenir pour chaque datediff la moyenne sur 3 jours
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 ALTER PROCEDURE AVG_3JOURS_QT ( DATEJOUR Date ) RETURNS ( AVG_QT Integer ) AS BEGIN for SELECT AVG(QT) from (SELECT QT FROM DIFF a WHERE Code = '15' and DATEDIFF <= :DATEJOUR order by Datediff desc ROWS 1 to 3) into :AVG_QT do suspend; END^
J'obtiens ce message d'erreur : "no current record for fecth operation"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT a.DateDiff, a.QT, p.AVG_QT FROM DIFF a, AVG_3JOURS_QT(a.DateDiff) p
Alors que je m'attends à ça :
DateDiff, QT AVG_QT
02.01.2014 25 25 = AVG(25,0,0)
03.01.2014 135 80 = AVG(135,25,0)
04.01.2014 35 65 = AVG(35,135,25)
07.01.2014 19 63 = AVG(19,35,135)
09.01.2014 39 31 = AVG(39,19,35)
10.01.2014 50 36 = AVG(50,39,19)
13.01.2014 40 43 = AVG(40,50,39)
14.01.2014 54 48 = AVG(54,40,50)
Pouvez-vous m'aider ?
Merci
Partager