小编met*_*lfe的帖子

如何添加/更新具有递增值的列并根据 SQL 中的另一列重置所述值

我很难过,我一直在搜索和研究,直到我的浏览器标签不再显示关闭按钮(“X”),直到您将鼠标悬停在它们上面。我一遍又一遍地尝试重写搜索词,但我想我不知道该问什么,所以如果已经回答了这个问题,我深表歉意。

我试图弄清楚如何将一个 INT 列添加到一个表中,该列从 1 开始并根据另一个列值(我们称之为case_id)递增(我们称此字段版本),如果该值与先前迭代的行 - 如果它不相同,则版本值应重置为 1。

我试图通过更新我创建的临时表或在 SELECT INTO 语句期间添加值来解决这个问题。

此表的目的是存储案例的历史更新记录,由case_id列标识,此版本值与修改时间戳的顺序相同。

将此表结构视为源数据的示例:

---------------------------------
| case_id | modify_time         |
---------------------------------
| 1       | 2015-05-01 11:12:13 |
| 1       | 2015-05-02 12:13:14 |
| 1       | 2015-05-03 13:14:15 |
| 2       | 2015-05-01 11:12:13 |
| 2       | 2015-05-01 12:13:14 |
| 3       | 2015-05-02 11:12:13 |
---------------------------------
Run Code Online (Sandbox Code Playgroud)

将此作为我想要实现的最终结果的示例:

-------------------------------------------
| case_id | modify_time         | version |
-------------------------------------------
| 1       | …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql alter-table update temporary-tables

2
推荐指数
1
解决办法
2万
查看次数