我有以下表格:僅更新標識的日期最新的SQL(6 2)
和:
我制定此查詢:
Update Table 1
SET DY_H_ID = (
SELECT MAX(ID)
FROM Table 2
WHERE H_DateTime <= DY_Date
AND H_IDX = DY_IDX
AND H_HA_ID = 7
AND H_HSA_ID = 19
AND H_Description LIKE 'Diary item added for :%'
)
WHERE DY_H_ID IS NULL AND DY_IDX IS NOT NULL
其中產品:
然而,這個查詢更新所有6行。我只需要更新最新日期的兩行,即'2013-08-29 15:00:00.000'
。這意味着6條記錄中只有2條會被更新,其他4條會保持爲NULL。
如何通過添加上述查詢來做到這一點?我知道這可能不太理想,但沒有選擇,只能做這樣的事情。我不明白的是,你如何只選擇最新的日期而不對其進行硬編碼。這些數據可以改變,它不會永遠是同一日期等
您使用的是什麼版本的'sql-server'? –
我正在使用SQL Server 2012. – frans