比较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 ))