有一个这样的数据库,我们有一个列数据出错:它当前的月份记录实际上是下个月的数据。例如:
recordA 2014-12-01 3.5
recordB 2014-12-01 1.5
recordC 2014-12-01 5.5
recordD 2014-12-01 3.5
recordB 2014-11-01 3.8
recordC 2014-11-01 6.7
recordD 2014-11-01 1.1
recordA 2014-10-01 8.5
recordB 2014-10-01 3.5
recordC 2014-10-01 4.4
recordD 2014-10-01 1.5
...所以基本上,目前的2014-12-01数据实际上是2015-01-01数据,2014-11-01数据实际上是2014-12-01数据,我如何用前一个月的记录更新这些记录?另外,可能还有几个月的时间,因为有一个特别的记录。例如,recordA 2014-11-01缺失了,在这种情况下,要么创建新的2014-11-01记录与2014-10-11记录,要么就是不更新。
这对我来说是一个相当复杂的sql,请帮助。
发布于 2015-01-25 09:26:19
在DateAdd上使用具有where条件的recordA函数。
Update Table_Name_Here set DateField_Name_Here = DateAdd(month, 1, DateField_Name_Here) Where RecordTypeField_Name_Here = 'recordA';如果表中有其他列将数据映射到正确的日期,则尝试以下步骤:
https://stackoverflow.com/questions/28134829
复制相似问题