Étant donné un tableau de voitures et leur odomètre à différentes dates (le premier de chaque mois), comment puis-je écrire TSQL (idéalement, pour une utilisation en vue SQL Server) pour retourner les valeurs "incrémentales"? En d'autres termes, je veux l'opération inverse de Calculate a Running Total in SQL Server enCalcul des valeurs décompactées dans TSQL?
Exemple:
Sur ce tableau:
CarId | Date | Mileage --------------------------- 1 1/1/2000 10000 1 2/1/2000 11000 1 3/1/2000 12000 2 1/1/2000 10000 2 2/1/2000 11001 2 3/1/2000 12001 3 1/1/2000 10000 (missing datapoint for (3, 2/1/2000)) 3 3/1/2000 12000
Nous reviendrions quelque chose comme (les détails/cas de pointe sont flexibles):
CarId | Date | Delta --------------------------- 1 1/1/2000 10000 1 2/1/2000 1000 1 3/1/2000 1000 2 1/1/2000 10000 2 2/1/2000 1001 2 3/1/2000 1000 3 1/1/2000 10000 3 3/1/2000 2000
Je supposais que "datapoint manquant" signifiait qu'il n'y avait pas une ligne dans la table, pas qu'il y avait une ligne mais le kilométrage était "NULL". –
peut-être un point de vue-chose. Comme indiqué dans votre réponse, je me suis référé à base-data-insert vu dans l'une des autres réponses. – Nico
Dans mon cas en particulier, nous avons des enregistrements avec des zéros qui devraient être ignorés. –