比较单元格 2 与单元格 1 并显示结果

问题描述 投票:0回答:1

我有以下示例数据,想要将列 Snap_Id 与前一行值进行比较。 如果 Snap_Id 行不为空,则前一行应为“是”,否则为“否”

身份证 案例编号 用户 案例状态 创建日期 Snap_Id 行数
11 100 拉杰 3 2023-04-27 1
22 100 迈克 3 2023-06-22 2
33 100 RJ 5 2023-06-30 33 3
44 100 迈克 3 2023-07-04 4
55 100 RJ 5 2023-07-04 55 5

你能帮我写SQL语句来实现它吗?我尝试了自加入,但它返回了 12 条数据不正确的记录。

我期望的最终输出如下,

身份证 案例编号 用户 案例状态 创建日期 Snap_Id 行数 结果
11 100 拉杰 3 2023-04-27 1 没有
22 100 迈克 3 2023-06-22 2 是的
33 100 RJ 5 2023-06-30 33 3 没有
44 100 迈克 3 2023-07-04 4 是的
55 100 RJ 5 2023-07-04 55 5 没有

希望你能帮助我。

提前致谢。

sql sql-server
1个回答
0
投票

如果 Snap_Id 行不为空,则前一行应为 Yes else No

如果你改写为

if Snap_Id of next row is not null then the result should be Yes else No

就更清楚了
Result = case when lead(Snap_Id) over (order by row_num) is not null
              then 'Yes'
              else 'No'
              end
© www.soinside.com 2019 - 2024. All rights reserved.