通过在同一个表上使用多个联接来更新表

时间:2016-04-21 17:03:37

标签: sql-server

在附图中,我突出显示了两列。左列是StartTime,右列是ID。我需要NULL为164的ID,因为所有这4行都具有相同的StartTime。有没有办法编写一个更新语句来收集带有值的NULL行和行,然后使用具有相同StartTime的值更新NULL行?任何代码都会非常有用。

图片:Query Results

1 个答案:

答案 0 :(得分:0)

UPDATE t
SET    t.ID = x.ID
FROM   YourTable t
INNER JOIN (SELECT DISTINCT ID, StartTime
            FROM YourTable
            WHERE ID IS NOT NULL
            ) x 
ON     x.StartTime = t.StartTime
WHERE  t.ID IS NULL

我就是这样做的。

相关问题