Хочется вывести, предположим, долю продаж по группам товаров.
Пишем код ниже, все работает.
А теперь хочется чтобы данный код выполнился за последний год помесячно и в файл сохранил. Как это циклом организовать ?
Код:
SET echo off newpage 0 space 0 pagesize 0 feedback off head off trimspool on linesize 2000 recsep off verify off
var res_all number;
begin
SELECT round((SUM((nvl(D.SaleSum,0)-nvl(D.RetSum,0)))),4) into :res_all FROM SMStoreLocations LOC,SVARealCostPriceOpenedPeriod D
WHERE D.StoreLoc=LOC.ID and D.SaleDate between to_date('01.03.2015','DD.MM.YYYY') and to_date('31.03.2015','DD.MM.YYYY');
end;
/
SPOOL rep.csv APPEND
SELECT (CRDCLASS.Name1),round((SUM(nvl(D.RealSum,0)))/:res_all*100,2)
FROM SVCardClassWithOlderGroup CRDCLASS,SVCardName CRD,(SELECT StoreLoc, Article, sum(RealSum) RealSum FROM (SELECT StoreLoc, Article,to_date('01012000','DDMMYYYY') RepDate,0 MeasNu, 0 RealSum FROM supermag.SVLocCard LC UNION ALL SELECT StoreLoc, Article,CreateDat RepDate,0 MeasNu, RealSum FROM supermag.SVAReal R WHERE R.CreateDat between to_date('01.03.2015','DD.MM.YYYY') and to_date('31.03.2015','DD.MM.YYYY')) GROUP BY StoreLoc, Article) D
WHERE D.Article=CRD.Article and CRD.IDClass=CRDCLASS.ID
GROUP BY (CRDCLASS.Name1)
HAVING (SUM(nvl(D.RealSum,0)))!=0;
SPOOL OFF
exit