select d.Year_Int, d.Month_Int, d.Year_Month_String, sum(di.Qty) as 
Sum_Qty, sum(di.Qty*di.Price) as Sum_Product
    from vw_Documents d, Operations o, Docum_Items di, Products p
    where (d.ID_Operation = o.ID_Operation)
      and (o.State in (3,7))
      and (d.Flag_Virtual = 0)
      and (d.ID_Docum = di.ID_Docum)
      and (di.ID_Product = p.ID_Product)
    group by d.Year_Int, d.Month_Int, d.Year_Month_String
    having (sum(di.Qty*di.Price)<>0) or (sum(di.Qty)<>0)
    order by d.Year_Int, d.Month_Int
    into :Year_Int, :Month_Int, :Year_Month_String, :Sum_Qty, :Sum_Product

CREATE VIEW VW_DOCUMENTS(
    ID_DOCUM,
    ID_OPERATION,
    FLAG_VIRTUAL,
    ID_STORE,
    ID_FIRM,
    DATE_DOCUM,
    YEAR_INT,
    MONTH_INT,
    DAY_INT,
    YEAR_MONTH_STRING)
AS
select d.ID_Docum, d.ID_Operation, d.Flag_Virtual, d.ID_Store, d.ID_Firm, 
d.Date_Docum,
         extract(year from d.Date_Docum) as Year_Int,
         extract(month from d.Date_Docum) as Month_Int,
         extract(day from d.Date_Docum) as Day_Int,
         DateToStr(d.Date_Docum,'%Y %B') as Year_Month_String
  from Documents d
; 



Ответить