Bonjour à tous,
J'ai la table suivante:
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.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 ...
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 :
Mais SQL me renvoie l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Update @TEMP1 SET ReportTempsRestantJoursPrec = (select Sum(T0.TempsRestant) from @TEMP1 T0 where T0.Date1 <= @TEMP.Date1 group by T0.Date1 order by T0.Date1)
Je dois mal m'y prendre, quelqu'un saurait-il éclairer ma lanterne ??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é.
D'avance merci.
Guillaume
Partager