Bonjour à tous,
J'ai la table suivante:
Date1 TempsTotal TempsRestant ReportTempsRestantJoursPrec
02/05/2014 1.23 NULL NULL
09/05/2014 81.17 50 NULL
12/05/2014 24.67 3.17 NULL
13/05/2014 44.45 4.45 NULL
14/05/2014 12.27 1.85 NULL
15/05/2014 20.12 NULL NULL
...
Pour chaque enregistrement, je souhaite mettre à jour la colonne 'ReportTempsRestantJoursPrec' en y insérant la somme de la colonne TempsRestant des enregistrements précédents.
Concrètement,
pour la ligne 1, ReportTempsRestantJoursPrec doit être égal à 0 (c'est le 1er enregistrements de la table)
pour la ligne 2, ReportTempsRestantJoursPrec doit être égal à 0
pour la ligne 3, ReportTempsRestantJoursPrec doit être égal à 50
pour la ligne 4, ReportTempsRestantJoursPrec doit être égal à 53.17
pour la ligne 5, ReportTempsRestantJoursPrec doit être égal à 57.62
pour la ligne 6, ReportTempsRestantJoursPrec doit être égal à 59.47
...
Je pensais pouvoir m'en sortir en exécutant la requête suivante :
Update @TEMP1 SET ReportTempsRestantJoursPrec = (select Sum(T0.TempsRestant) from @TEMP1 T0 where T0.Date1 <= @TEMP.Date1 group by T0.Date1 order by T0.Date1)
Mais SQL me renvoie l'erreur suivante:
La clause ORDER BY n'est pas valide dans les vues, les fonctions inline, les tables dérivées, les sous-requêtes et les expressions de table communes, sauf si TOP ou FOR XML est également spécifié.
Je dois mal m'y prendre, quelqu'un saurait-il éclairer ma lanterne ??
D'avance merci.
Guillaume
Partager