首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >前一个月数据的sql更新

前一个月数据的sql更新
EN

Stack Overflow用户
提问于 2015-01-25 09:03:11
回答 1查看 1K关注 0票数 0

有一个这样的数据库,我们有一个列数据出错:它当前的月份记录实际上是下个月的数据。例如:

代码语言:javascript
运行
复制
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,请帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-25 09:26:19

DateAdd上使用具有where条件的recordA函数。

代码语言:javascript
运行
复制
Update Table_Name_Here set DateField_Name_Here = DateAdd(month, 1, DateField_Name_Here) Where RecordTypeField_Name_Here = 'recordA';

如果表中有其他列将数据映射到正确的日期,则尝试以下步骤:

  1. 将recordA记录放到临时表中,例如#CorrectHelpTable。确保您也从源表中绘制主键,因为我们将使用它来映射到新值。
  2. 在临时表中进行上面我提到的更新。
  3. 更新源表,比较存在的日期,并通过主键连接,用#Cor矩形comparing的值更新第三列(即3.5等)。
  4. 对于源表中不存在的日期,请插入相同数量的记录。在本例中,您可能必须决定要为其他列提供哪些值。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28134829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档