【问题标题】:Query for total should keep on adding with each row of cost Column总计的查询应继续与成本列的每一行一起添加
【发布时间】:2009-07-14 09:15:01
【问题描述】:

我有列作为的表

      Operation             Cost

     Material Issue         10 
     Material Return        20
     X                      30
     Y                      40
     Z                      50

我想要查询列在哪里

     Operation             Cost    Total

     Material Issue         10      10
     Material Return        20      30
     X                      30      60
     Y                      40      100
     Z                      50      150

即..,总计应与每行成本列不断增加

【问题讨论】:

    标签: sql sql-server-2005


    【解决方案1】:

    试试这个

    DECLARE @Table TABLE(
            ID INT IDENTITY(1,1),
            Descr VARCHAR(20),
            Val FLOAT
    )
    
    INSERT INTO @Table (Descr,Val) SELECT 'X', 10
    INSERT INTO @Table (Descr,Val) SELECT 'Y', 20
    INSERT INTO @Table (Descr,Val) SELECT 'Z', 50
    INSERT INTO @Table (Descr,Val) SELECT 'A', 75
    INSERT INTO @Table (Descr,Val) SELECT 'B', 100
    
    SELECT  t1.Descr,
            t1.Val,
            SUM(ISNULL(t2.Val,0))
    FROM    @Table t1 LEFT JOIN
            @Table t2 ON t1.ID >= t2.ID
    GROUP BY    t1.Descr,
                t1.Val
    

    【讨论】:

      【解决方案2】:

      有不同的方法来计算运行总计。 This article on SQLTeam 涵盖它们并将帮助您完成查询。那里的代码示例很容易适应,所以我让您选择最适合您需求的示例。

      【讨论】:

        猜你喜欢
        • 2012-11-30
        • 1970-01-01
        • 2015-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-28
        • 1970-01-01
        • 2017-04-14
        相关资源
        最近更新 更多