【发布时间】:2019-09-30 17:52:52
【问题描述】:
我需要使用基于SELECT 日期时间升序的自动生成序列以及基于类型的列来更新 SQL Server 列。
这是我想到的算法:
1. To update a column AppNo
update column_of_interest
from_above_table
auto_increment value (1..n)
where
following datetime_col desc
2a. If Requesttype is AAA for a select where
following datetime_col desc then there should be a different (1...n)
update
2b. If Requesttype is BBB for a select where
following datetime_col desc then there should be a different (1...n)
update
3. The AppNo should reset each day, for each Requestype too.
目前我感兴趣的列 (AppNo) 暂时为空。 我想像下面这样更新它:
ProjectID AppNo ProcessedDate
--------- ----- ----------------
11 3 2019-09-30 18:21
3 1 2019-09-25 08:37
3 2 2019-09-25 08:37
11 1 2019-09-25 08:39
11 2 2019-09-25 08:40
7 1 2019-09-26 14:19
7 2 2019-09-26 14:20
7 3 2019-09-26 14:22
2 1 2019-09-26 14:23
11 1 2019-09-26 14:23
11 2 2019-09-26 14:24
11 3 2019-09-26 14:24
3 1 2019-09-26 14:24
我需要根据上述内容填充我感兴趣的列。
【问题讨论】:
-
您提到“计算列”,但您的代码看起来像是在更新真实列。它还有几个根本不是标准 SQL 的词。您确定您的 DBMS 是 Microsoft SQL Server 吗?如果是这样,并且您在查询中添加了一些描述性文本,您是否可以插入注释行以便更清楚您想要什么?
-
我说的是算法而不是sql server本身。我的想法是以算法的形式表达的,而不是真正的 sql server。
-
问题是你的问题一点都不清楚。您应该做的是发布现有表的创建语句。然后清楚地解释你想做什么。好像你想添加一个新列?但是这个新列的价值是什么?
-
我已经编辑了这个问题,我不知道它现在是否有意义
-
@PeterGodfreyObike 我已将屏幕截图链接中的数据作为文本转录到您的问题中。请避免包含数据图像 - 这会使人们更难复制您的数据以帮助您解决问题。
标签: sql sql-server