我想更新表格的底部/最后一行。我已经尝试实现this解决方案,但似乎没有什么是正确的语法:
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
ORDER BY PeriodID DESC
要么
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
FROM @ResultTable
ORDER BY PeriodID DESC
到目前为止,我的工作是:
UPDATE @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1
但这并不总是有效的,因为在我的函数中,某些记录已删除,而且我的PeriodID并不总是增加1。
最佳答案
;WITH CTE AS
(
SELECT TOP 1 *
FROM @ResultTable
ORDER BY PeriodID DESC
)
UPDATE CTE SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
关于tsql - T-SQL如何仅更新底部/最后一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13292789/