【发布时间】:2012-06-27 19:18:12
【问题描述】:
6我有两个表如下, 表:
MEMBER_ID CLIENT_ID TENTATIVE_ID TENTATIVE_START_DATE
1 65239 26 6/15/2012
2 63693 NULL NULL
3 5549 NULL NULL
4 85452 NULL NULL
5 77898 11 6/15/2012
6 93119 21 6/15/2012
7 7876 26 6/20/2012
8 27572 26 6/21/2012
9 15524 26 6/21/2012
10 39465 8 6/21/2012
11 10143 26 6/23/2012
12 72828 NULL NULL
表 B:
TENTATIVE_ID LAST_AUTO_ASSIGNED_ON
26 6/15/2012
11 6/16/2012
21 6/13/2012
27 6/20/2012
28 6/22/2012
29 6/25/2012
8 6/26/2012
21 6/24/2012
情况是,我需要根据最小 LAST_AUTO_ASSIGNED_ON 值使用表 B 中的 TENTATIVE_ID 更新表 A 中的空值,并且每次分配 id 时,都会使用表 B 中该 id 的当前日期时间更新 LAST_AUTO_ASSIGNED_ON。
通过这种方式,我们循环遍历表 B 中的所有暂定 id,并将它们分配给表 A。
我不允许使用光标。我怎样才能做到这一点?
谢谢!
【问题讨论】:
-
tableb 中有两行数据完全相同。不可能只更新其中一个的日期。是否缺少字段?
-
另外,如果您选择最小最后一次自动分配的日期,在具有相同最小日期的多个 id 之间确定的标准是什么?
-
另外,你没有提到暂定开始日期,必须指定吗?
-
我已经更新了表格。表 B 没有重复。暂定开始日期将设置为 getdate()。
标签: tsql progressive