例如,如果在另一列中的日期='2020-11-10',如何在特定列中添加+1



我正在编写一份报告,该报告显示某个发货人是否按照约定执行——如果他们承诺1天交货,则应该是1天,而不是2天。

这是我创建的表格的屏幕截图:

  • "transitiondays_int"列显示"shippingdate_date"列和"deliverydate_date"之间的差异(以天为单位(
  • "transit_treshold"列显示发货人承诺交付所需的天数
  • 在"success_ratio"列中,我使用CASE语句将这些值转换为"准时"或"延迟交付">

我现在的问题是,如果列"shippingdate_date"="2020-11-10",我想将+1添加到列"transit_treshold"。这可能吗?我读过很多不同的解决方案,但似乎都不是我想要的。。。

提前感谢!

听起来你只需要一个基本的更新:

UPDATE yourTable
SET transit_treshold = transit_treshold + 1
WHERE shippingdate_date = '2020-11-10'

如果这是一个报告,那么您只是在寻找一个查询,而不是实际更新数据库值,对吗?

如果是这样,我只会将您的查询更新为:

select
case when cast(shippingdate_date as date) = cast('2020-11-10' as date)
then transit_treshold + 1
else transit_treshold
end as [Transit Days]

如果您能提供实际的查询,可能会更容易提供帮助。

此外,2020年10月11日有什么特别之处?你是希望这个日期是硬编码的,还是需要它是动态的?

Update TableName
set transit_treshold=transit_treshold+1
where shippingdate_date = '20201110'

相关内容

最新更新