我创建了 2 个表。一张表有 4 个字段。一个唯一的名称、一个日期和 3 个数字。第二个表包含相同的字段,但记录了合并函数的输出。因此具有更新或插入功能发生的日期。我想要做的是检索 2 天之间的差值或 2 天的总数的总和,以计算出该值在一天内发生了多少变化。合并函数仅在值已更改或需要插入新值时更新。
到目前为止我有这个
select sum(Change_Table_1.Disk_Space) as total,
Change_Table_1.Date_Updated
from VM_Info
left join Change_Table_1
on VM_Info.VM_Unique = Change_Table_1.VM_Unique
where VM_Info.Agency = 'test'
group by Change_Table_1.Date_Updated
但这只会返回当天更新总数的总和,而不是两天之间的差值。这个问题的一个答案是将所有新记录添加到表中,但这将包含许多重复项。因此,在我的脑海中,我想要它做的是循环遍历当天的当前数据,然后循环遍历第二天,还包括所有尚未更新的值。抱歉,如果我没有很好地解释这一点。所以我想要实现的是随着时间的推移使总数发生某种变化。如果其糟糕的设计我也可以接受。
任何帮助深表感谢。
也许这会更好地解释它。显示第 1 天的总计值,如果值没有更改,则显示第 2 天的相同值,如果更改显示新值。等等...
好的,进一步详细说明。
Change_Table 看起来像
vm date created action value_Field1 value_field_2 Disk_Space
abc 14/10/2013 insert 5 5 30
def 14/10/2013 insert 5 5 75
abc 15/10/2013 update 5 5 75
所以我想要的输出是 14 号,最后一列的总数是 105。15 号 abc 已从 30 变为 75,但 def 没有改变,但仍需要包含 150
所以输出看起来像
date disk_Space
14/10/2013 105
15/10/2013 150