在Oracle中处理有效的日期记录

时间:2017-08-01 04:11:45

标签: sql oracle

我有以下数据表结构:

EFFT_DT|TYPE|CODE|VALUE

例如,这些可以是数据记录:

EFFT_DT    |TYPE  |CODE|VALUE
------------------------------
01-APR-2014|TYPE_A|01  |Apple
01-APR-2014|TYPE_A|02  |Pear
01-APR-2015|TYPE_A|02  |Orange
01-APR-2016|TYPE_B|A   |OTHERS
01-APR-2012|TYPE_B|B   |Tropical Fruits

问题:我需要能够查询此表中的记录并通过传入a)日期b)检索VALUE的代码来检索最新的有效日期记录。

例如,我可以通过a)15-apr-2014 b)02并比较EFFTDT和CODE来检索Pear。我也可以通过a)20-apr-2015 b)02并比较EFFTDT和CODE来检索Orange。这意味着截至2014年6月15日,第一条记录被标记为Pear,随后更改为Orange。

我还可以通过a)01-apr-2012 b)B和02传递记录,并在最终被标记为Pear或Orange之后被标记为热带水果,然后传递另一个日期记录。

高级别:我打算首先根据type_A的参数来查询VALUE并检查它是否为空,如果为NULL,则查询type_B以检索VALUE。

还有其他方法可以做到吗?

赞赏!

0 个答案:

没有答案