【问题标题】:Generate an new Column in SQL that displays a value from a previous cell if value gets empty如果值为空,则在 SQL 中生成一个新列,该列显示前一个单元格中的值
【发布时间】:2020-09-08 07:28:31
【问题描述】:

我正在尝试评估来自样本仓库的当前数据。 当工件不再有库存时,我对时间戳特别感兴趣。

为了将此时间戳与工件的 ID 联系起来,我目前正在寻找一个 SQL Query 以生成一个列,该列显示一旦 ID 值为空时已占用存储位置的工件的 ID。

这最好只发生在第一个空值上,而不是后面的。

目标结果应该如下图所示:

https://i.stack.imgur.com/ojvhs.png

【问题讨论】:

  • 向我们展示一些示例表数据和预期结果 - 作为格式化文本(无图像)。

标签: sql datetime case window-functions


【解决方案1】:

你似乎想要lag()

select 
    t.*,
    case when id is null
        then lag(id) over(partition by location order by event_date)
    end as leaving_id
from mytable t

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2021-04-07
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    相关资源
    最近更新 更多