使用以下查询更新列

时间:2012-09-05 03:17:05

标签: sql-server-2008 sql-update

我正在尝试更新另一个累计和的列。

这是我对累积金额的查询。现在我需要在表格中更新它。 请在此建议。

SELECT s.[MM], s.[ProjectID], s.[Total_To_Bill],
    ISNULL((
        SELECT SUM(SS.[Total_To_Bill])
        FROM @mtss1 SS WHERE SS.[ProjectID] = s.[ProjectID] 
            AND SS.MM <= S.MM), 0) AS [ProjectedBillable] FROM @mtss1 AS s

1 个答案:

答案 0 :(得分:0)

假设MM是每一行的唯一键,以下是您想要的:

with toupdate as (
     SELECT s.[MM],s.[ProjectID], s.[Total_To_Bill],
             Isnull((select SUM(SS.[Total_To_Bill])
                     FROM @mtss1 SS 
                     WHERE  SS.[ProjectID] = s.[ProjectID] and SS.MM <= S.MM) ,0
                    ) As [ProjectedBillable]
     From @mtss1 As s
    )
update t
    set t.cumsum = toupdate.ProjectedBillable
    from toupdate
    where t.mm= toupdate.MM and t.MM

如果MM没有定义每一行,那么你需要一列或一组列。