Hi Patter ,
For the above requirement we don't need a calculation view to be created. Check the code below, I am re creating the scenario with an INNER JOIN.
CREATE COLUMN TABLE "METALS_ONE_GEN"."TEST_TAB" (ID INTEGER,DATES DATE,PRICE INTEGER); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-03-10',50); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-03-15',50); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-03-25',100); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-03-20',80); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-03-30',75); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-04-04',150); INSERT INTO "METALS_ONE_GEN"."TEST_TAB" VALUES ( 1 , '2014-04-9',450); select A.DATES, A.PRICE, ( B.PRICE - A.PRICE ) from "METALS_ONE_GEN"."TEST_TAB" A INNER JOIN "METALS_ONE_GEN"."TEST_TAB" B ON B.DATES = ADD_DAYS(A."DATES",5) ;
Looks like, the JOIN operation is more optimized than the Calculation view in this case . Depends on the data , JOIN type may very .
Sreehari
Message was edited by: Sreehari V Pillai