如果为NULL,则使用其他表中的值更新一个表

时间:2015-04-09 14:27:26

标签: sql-server null sql-update

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

1 个答案:

答案 0 :(得分:0)

例如可以是这样的:

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