我有一个表 tblCost,其中包含:
RecordID ProjectID Cost AllocationMonthYear TimeStamp
112 1 $1000 10/17 10/16/2017 12:09:53 PM
113 1 $1200 11/17 10/16/2017 01:14:45 PM
114 1 $1000 10/17 10/16/2017 02:21:23 PM
Run Code Online (Sandbox Code Playgroud)
AllocationMonthYear 是分配预算的月份。我的问题是该软件位于共享驱动器上并被多个用户使用。他们经常添加同一个月的重复记录。我需要一个查询来删除基于最新时间戳的重复记录,即记录 114 应该被删除,因为它是 112 的重复并且比 112 晚。
任何指针都非常感谢
DELETE FROM tblCost AS C1
WHERE EXISTS (SELECT 1
FROM tblCost AS C2
WHERE C1.AllocationMonthYear = C2.AllocationMonthYear
AND C1.ProjectID = C2.ProjectID
AND C1.TimeStamp > C2.TimeStamp)
Run Code Online (Sandbox Code Playgroud)
您也可以添加一个唯一索引以避免这种情况继续发生
| 归档时间: |
|
| 查看次数: |
1569 次 |
| 最近记录: |