如果值为空,则在 SQL 中生成一个新列,该列显示前一个单元格中的值
Posted
技术标签:
【中文标题】如果值为空,则在 SQL 中生成一个新列,该列显示前一个单元格中的值【英文标题】:Generate an new Column in SQL that displays a value from a previous cell if value gets empty 【发布时间】:2020-09-08 07:28:31 【问题描述】:我正在尝试评估来自样本仓库的当前数据。 当工件不再有库存时,我对时间戳特别感兴趣。
为了将此时间戳与工件的 ID 联系起来,我目前正在寻找一个 SQL Query 以生成一个列,该列显示一旦 ID 值为空时已占用存储位置的工件的 ID。
这最好只发生在第一个空值上,而不是后面的。
目标结果应该如下图所示:
https://i.stack.imgur.com/ojvhs.png
【问题讨论】:
向我们展示一些示例表数据和预期结果 - 作为格式化文本(无图像)。 【参考方案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
【讨论】:
以上是关于如果值为空,则在 SQL 中生成一个新列,该列显示前一个单元格中的值的主要内容,如果未能解决你的问题,请参考以下文章
如果值为空,则在输入 [type=text] 中不考虑空白值
如果 ASP.Net 中的数据库值为空,则在 TextBox 中设置空字符串不起作用