在 SQL Server 中:确定按时间戳排序的查询中的最后一条记录何时为 <CREATE> 或 <DELETE> [已关闭]

In SQL Server Identifying when a last record from a query ordered by timestamp is either <CREATE> or <DELETE> [closed]

提问人:Alex Naysmith 提问时间:11/16/2023 最后编辑:marc_sAlex Naysmith 更新时间:11/16/2023 访问量:45

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

6天前关闭。

我在SQL Server中有一个查询,该查询返回两种类型的结果:

  • 当最后一个操作是 CREATE 时,我执行操作 A
  • 当最后一个动作是 DELETE 时,我执行动作 B
编号 行动 日期 (OrderBY)
121219996 创造 2022-10-20
121224067 创造 2022-12-25
121255487 删除 2022-10-25
121460981 创造 2023-11-16

我希望为特定更新操作 A 返回 ID 121255487

返回时

编号 行动 日期 (OrderBY)
121210000 创造 2022-10-20
121221111 创造 2022-12-25
121252222 删除 2023-11-16

我希望为不同的更新操作 B 返回 ID 121252222

目前运行它,只需查看 DELETE 后是否有 CREATE,如果有,则执行操作 A,如果没有操作 B。

不知道如何识别这两个差异。

任何提示都最好知道该往哪个方向走。

我试过了

MAX(date) = Date & Action = 'CREATE' 

但这并没有解决问题

sql-server 筛选器

评论

0赞 Jiji 11/16/2023
你能使用结构吗?Case When Then
0赞 siggemannen 11/16/2023
我不明白。如果存在 DELETE,是否要返回最后一个 DELETE,如果没有,则返回最后一个 CREATE?

答: 暂无答案