从计算其他三个表创建表

时间:2015-02-19 20:21:52

标签: sql oracle oracle11g

我有三张桌子。他们是

T1:

Date          product       price
19501010       xxx          p0
19501011       xxx          p1
...

将日期存储为int。

T2:

 Date         Product      price_suddenly_change
 19200120        yaz            -0.1
 ...

T3:

 Date    Product     post   pre   
19240912   xxy       100    20  

如果产品数量的邮寄和预先在当天从前到后增加(如果发生这种情况,表T1中的价格应该反映出来,比如在这个例子中,从20变为100后,价格在T1中应该是价格=价格* 0.2。)

我想从T1,T2和T3创建一个表,如下所示:

Date      product   price_change_percentage 
19501010   xxx        12%
19501011   xxx        3%
...

哪里

  

price_change_percentage =(P1-P0 + price_suddenly_change)/ P0

,p1和p0在T1中,price_suddenly_change在T2中,我还必须考虑T3产品号更改。

如果我的T1很大(> 40M行),我该如何解决问题?

更新:用于T3的处理。如果在T3中,产品编号在某个日期(例如1到10)发生变化,则可以看到T1的价格发生剧烈变化(比如p1变为100美元到10美元)。但是,在这种情况下,我不想把它算作一个改变"在我的百分比计算中。如果任何其他条件没有变化(没有突然的价格变化),我想返回price_change_percentage = 0.。

0 个答案:

没有答案