Tuesday, October 5, 2010

Running Total Query Sql

We can get running total against fields by using  a self join like

CREATE TABLE #Table


(

Id int,

Name varchar(50),

Length int

)



INSERT INTO #Table (Id, Name, Length)

SELECT 1, 'Field1', 23 UNION ALL

SELECT 2, 'Field2', 34 UNION ALL

SELECT 3, 'Field3', 21 UNION ALL

SELECT 4, 'Field4', 10 UNION ALL

SELECT 5, 'Field5', 5





SELECT F1.Id,f1.Name,f1.Length,ISNULL(SUM(F2.Length),0) AS RunTotal FROM #Table F1

LEFT JOIN #Table F2 ON f1.Id - 1 >=f2.Id

GROUP BY F1.Id,F1.Name,f1.Length

No comments:

Post a Comment