Première fois sur le site alors mes excuses pour tout manque de clarté ou l'échec de trouver une solution par moi-même!Remplir une colonne avec des valeurs calculées à partir d'une autre colonne dans T-SQL
J'ai une table temporaire (# Temptable3) que je remplis pour aider à construire un ensemble de données à partir duquel faire un rapport. J'ai résolu la plupart des étapes logiques à travers un peu d'essais et d'erreurs et de trouver des réponses aux questions précédentes ici (merci!) Mais ne peut pas casser ce dernier morceau. Pour simplifier, j'ai supprimé les colonnes non pertinentes à partir d'un ensemble de données exemple ci-dessous:
J'ai actuellement:
RowNumber Increment Score
-----------------------------
1 1 NULL
2 100000 NULL
3 -1 NULL
4 1 NULL
5 10 NULL
6 -1 NULL
7 -100000 NULL
8 -10 NULL
Ce que je vise à obtenir est la colonne de score pour remplir avec la somme de la colonne Incrémenter jusqu'à et y compris sa propre ligne, par exemple:
RowNumber Increment Score
-----------------------------
1 1 1
2 100000 100001
3 -1 100000
4 1 100001
5 10 100011
6 -1 100010
7 -100000 10
8 -10 0
J'ai essayé et échoué à obtenir une mise à jour de diverses déclarations au travail, en jouant avec auto-jointures, mais ne trouve rien qui semble prometteur. Toutes mes excuses si cela ne suffit pas. S'il vous plaît poser des questions si nécessaire Merci pour toute aide.
Merci à HABO pour le pointeur pour m'aider à trouver des questions sur les sommes de fonctionnement. Un lien dans janderssons reply à une question précédente me conduire à une solution qui a fonctionné pour moi:
@runningtotal int déclarer ensemble @runningtotal = 0
mise à jour # TempTable3 set @runningtotal = Score = @runningtotal + incrément
de # TempTable3
Ce que vous cherchez s'appelle un _running sum_.Essayez un peu plus de recherche, par ex. '[tsql] somme en cours'. – HABO