2016-04-21 52 views
0

在附加的圖片中,我突出顯示了兩列。左列是StartTime,右列是ID。我需要NULL爲164的ID,因爲所有這4行具有相同的StartTime。有沒有辦法編寫一個更新語句來收集具有值的NULL行和行,然後使用具有相同StartTime的值更新NULL行?任何代碼都會非常有幫助。通過在同一張桌子上使用多個連接更新表格

圖片:Query Results

+0

看起來像這個問題可以幫助http://stackoverflow.com/questions/1293330/how-can-i-do-an-update-statement-with-join-in-sql – Simon

回答

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 

這是我會怎麼做。

+0

非常感謝你!我試圖得到一個NULL的列表,而不是NULL,但是這很簡單。 –

相關問題