2012-02-15 52 views
0
Salary Sum 
10  10 
20  30 
10  40 
70  110 

我需要一個查詢這給我的DataTable在上面的格式,在此之列的值是依賴於工資列正確相關的SQL查詢

+0

你想要一個跑步總數? – Blorgbeard 2012-02-15 12:42:43

+0

是的,你是完全正確的,對不起,在發佈這個問題時,我不知道運行總計 – Vishwajeet 2012-02-15 12:47:30

+1

沒問題。雖然我沒有很好的答案,但它很複雜。我會考慮用你正在使用的其他語言來計算它。否則,這裏有一些閱讀你:) http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005---the-optimal.aspx – Blorgbeard 2012-02-15 12:49:02

回答

0

如果你在你表的主鍵你可以用這樣的東西:

DECLARE @tbl TABLE(ID INT,Salary INT) 
INSERT INTO @tbl 
VALUES 
    (1,10), 
    (2,20), 
    (3,10), 
    (4,70) 

SELECT 
    tbl.Salary, 
    SUM(tbl2.Salary) AS [Sum] 
FROM 
    @tbl AS tbl 
    JOIN @tbl AS tbl2 
     ON (tbl2.ID <= tbl.ID) 
GROUP BY 
    tbl.ID, 
    tbl.Salary 
ORDER BY 
    tbl.ID, 
    tbl.Salary