Sql server 如果为空,则使用另一个表中的值更新一个表

Sql server 如果为空,则使用另一个表中的值更新一个表,sql-server,null,sql-update,Sql Server,Null,Sql Update,我有一个客户表,其中有一列是LastActivity。在某些情况下,LastActivity的值为NULL,此时我需要将其更新为可以在其他表活动中找到的值,其中对于每个客户来说,都有几个活动记录具有时间戳。我需要以某种方式获取特定客户的最新活动,并用它更新客户表的最新活动。 所以基本上,问题是当第一个表中的特定值为空时,如何使用第二个表中的最新值更新第一个表。例如,可以如下所示: Update c Set c.LastActivity = d.LastActivity FROM Cust

我有一个客户表,其中有一列是LastActivity。在某些情况下,LastActivity的值为NULL,此时我需要将其更新为可以在其他表活动中找到的值,其中对于每个客户来说,都有几个活动记录具有时间戳。我需要以某种方式获取特定客户的最新活动,并用它更新客户表的最新活动。
所以基本上,问题是当第一个表中的特定值为空时,如何使用第二个表中的最新值更新第一个表。

例如,可以如下所示:

Update c
    Set c.LastActivity = d.LastActivity
FROM Customers c
INNER JOIN (
        SELECT CustomerID, MAX(LastActivity) AS LastActivity
        FROM AnotherTable
        GROUP BY CustomerID
    ) AS d
    ON d.CustomerID = c.CustomerID
WHERE c.LastActivity IS NULL
可能重复的