比较plsql中的数据和日期

比较plsql中的数据和日期,sql,plsql,Sql,Plsql,我有一张桌子: date_stmp ticker_name a_clos_prc b_clos_prc 05/20/17 APPL $300.60 $300.60 05/21/17 APPL $300.61 如果a\u clos\u prc缺少数据且b\u clos\u prc有数据,是否有办法检查b\u clos\u prc是否与前一天相同 例如,结果如下所示: date_st

我有一张桌子:

date_stmp     ticker_name    a_clos_prc   b_clos_prc
05/20/17      APPL           $300.60      $300.60
05/21/17      APPL                        $300.61
如果
a\u clos\u prc
缺少数据且
b\u clos\u prc
有数据,是否有办法检查
b\u clos\u prc
是否与前一天相同

例如,结果如下所示:

 date_stmp   ticker_name     a_clos_prc   b_clos_prc   Diff
 05/20/17    APPL            $300.60      $300.60
 05/21/17    APPL                         $300.61     +0.01 

我一直在思考如何提出这样的逻辑。

编辑您的问题并显示您想要的结果。正如Gordon所指出的,您需要提供预期的结果,并明确自己的需求,以便其他人能够帮助您。为什么您认为需要一个存储过程来帮助您?存储是指别名吗?请查看SQL函数。不需要PL/SQL。它位于一个表下。我看你们有两张桌子。当所有数据都在一个表下时,有没有办法做到这一点?a2和a1是同一个表,使用两次以比较不同行中的值。您可以检查其他比较,但所有数据都使用同一个表两次确定。因此,为了使其工作,我必须创建一个别名表来处理此代码的唯一问题是,在创建别名时不能调用where。它必须以某种方式嵌套。
select *
  from table a2, table a1
 where trunc(a1.date_stmp) - 1 = trunc(a2.date_stmp)
   and (a1.a_clos_prc = a2.b_clos_prc  or (a1.a_clos_prc is null and  a2.b_clos_prc is null ))