Db2 列字段的两行之间的差异

Db2 列字段的两行之间的差异,db2,Db2,我有一张桌子 ID Name value -- ------ ----- 1 SOUMYA 10 1 SOUMYA 8 我想在DB2中编写一个查询,它将返回 ID Name Oldvalue NewValue Difference -------------------------------------- 1 SOUMYA 10 8 2 您希望如何检索旧值?它存放在哪里 在DB2中有一个称为Time Travel的特性,它包含旧值。自版本10

我有一张桌子

ID Name   value
-- ------ -----
1  SOUMYA 10
1  SOUMYA 8
我想在DB2中编写一个查询,它将返回

ID Name   Oldvalue NewValue Difference
--------------------------------------
1  SOUMYA    10       8        2 

您希望如何检索旧值?它存放在哪里

在DB2中有一个称为Time Travel的特性,它包含旧值。自版本10.1以来,这是特定于db2的。使用时间旅行编写查询有不同的方法

有关更多信息,请查看此视频:


您还可以在值中创建一个触发器,将旧值和新值记录在另一个表中,它们只查询另一个表。但是,时间问题就在这里,这就是时间旅行存在的原因。

欢迎来到这里,到目前为止您尝试了什么?您如何知道哪个值是新的,哪个值是旧的?如果我详细告诉您,这是一个带有搜索子句的单表的结果。例如,从表1中选择ID、Name和value,其中Unique_ID='1A'。现在我想得到这些值的差值。请给出建议。当然,这假设他的DB2版本是LUW,并且是最近的版本,并且创建表是为了利用此功能,并且可能使用适当的附加关键字调用了UPDATE—在这一点上,我粗略地看了一下有点模棱两可。不过,我对这个功能好奇了一段时间……如果我详细地告诉您,这是一个带有search子句的表的结果。例如,从表1中选择ID、Name和value,其中Unique_ID='1A'。现在我想得到这些值的差值。请告知。