Sql server 2008 使用下面的查询更新列
我正在尝试更新一列,该列是另一列的累积和 这是我对累计金额的查询。现在我需要在我的表中更新它。 请对此提出建议Sql server 2008 使用下面的查询更新列,sql-server-2008,sql-update,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
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
假设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没有定义每一行,那么您需要一列或列的组合来定义。如果我理解您的问题,这个链接可能会有帮助,我担心OP使用的是表变量,UNIQUE可能不可执行?我选择现在在表中更新它,因为这意味着有一个与表变量分离的实际表。