我正在尝试update在 Oracle 中编写一个语句,它将根据时间戳从历史表中找到一个属性。因此,例如,数据如下所示:
TABLE A
A_ID  TIMESTAMP              ATTR
---------------------------------
1     5/27/2012 10:30:00 AM  ?
TABLE B
B_ID  A_ID  TIMESTAMP              ATTR
---------------------------------------
1     1     5/26/2012 9:01:08 AM   W
2     1     5/27/2012 8:38:21 AM   X
3     1     5/28/2012 9:01:01 AM   Y
4     1     5/29/2012 11:37:54 PM  Z  
下限 >= B.TIMESTAMP,但我不确定如何将上限写为 < B."the next TIMESTAMP"。因此,在上面的示例中,表 A 上的属性应更新为“X”。
这似乎是一个相当常见的用例。我看过这篇文章,但似乎从未得到令人满意的答案,所以我想我会再发一次。