(select product,sales S_A_Y from info where date >= 1 st Jan 1999 & date =< 31 st Jan 1999 groupby product) sal1 , (select product,sales S_B_Y from info where date >= 1 st Apr 1999 & date =< 31 st Mar 2000 groupby product) sal2 where sal1.product=sal2.product ;
hai.....iam not understand what u says..can give me deatil....what is sal1.product=sal2.product..actually waht sal1 and sal2 are column alises,,,?right?
for reusability try breaking the dates into days & months & year. use them in the given statement(instead of hard-coding dates).
(select product,sales S_A_Y from info where date >= 1 st Jan 1999 & date =< 31 st Jan 1999 groupby product) sal1 , (select product,sales S_B_Y from info where date >= 1 st Apr 1999 & date =< 31 st Mar 2000 groupby product) sal2 where sal1.product=sal2.product ;
Can you please specify what exactly u want as "sum of actual year"? is it total number of years ?
I am providing query(oracle) below. Plz go through it.
SELECT SAL1.PRODUCT,SAL1.ACTUALSAL,SAL2.BUSINESSSAL FROM (SELECT PRODUCT,SUM(SALES) AS ACTUALSAL FROM PRODUCTS WHERE PDATE BETWEEN '1-JAN-1999' AND '31-DEC-1999' GROUP BY PRODUCT) SAL1, (SELECT PRODUCT,SUM(SALES) AS BUSINESSSAL FROM PRODUCTS WHERE PDATE BETWEEN '1-APR-1999' AND '31-MAR-2000' GROUP BY PRODUCT) SAL2 WHERE SAL1.PRODUCT = SAL2.PRODUCT