我有一张表格,用于输入车辆的每周霍布斯小时表读数。我需要能够将一段时间内每辆车使用的总小时数相加。我遇到的问题是,有时仪表一旦出现故障就会被换掉,并用新仪表代替,这是不可编程的,我必须从零小时开始,所以我需要遍历每个仪表读数并确定仪表是否有被交换并在我的代码中解释它。我对游标并不感兴趣,但可能不得不使用一个来创建一个存储过程,除非有人有更好的解决方案,否则我应该尝试一下。我正在尝试考虑 CTE 可能会有所帮助的方法,但目前还没有。
表结构为:
ReadingDate Datetime
EquipmentId Int
MeterReading decimal(18,2)
我计划创建一个累积变量,遍历游标中的行并将读数差异添加到变量中。因此,当我循环并看到仪表读数小于以前的读数时,我必须更换仪表并且必须考虑到它。我在想,如果我要向前看下一个读数并且它低于当前读数,我会跳过求和操作一次,然后开始将差异添加到累积变量中。有没有更好的方法来做到这一点?谢谢。