select p.name as ProductName, sum(pc.rest) as Rest, g.name as GroupName,
           p.Price_Retail_Val, p.FullName, p.Description, d.Date_Docum
    from products p, groups g, product_cards pc, docum_items di, documents d
    where p.id_group=g.id_group
      and p.id_product=pc.id_product
      and pc.id_store = :ID_STORE
      and pc.rest>0
      and p.id_product not in (select distinct di.id_product
                               from documents d, docum_items di, operations 
o
                               where d.id_docum = di.id_docum
                                 and d.id_operation = o.id_operation
                                 and o.state in (3)
                                 and d.date_docum between :DateBegin and 
:DateEnd)
      and pc.id_docitem = di.id_docitem
      and di.id_docum = d.id_docum
    group by p.name, g.name, p.Price_Retail_Val, p.FullName, p.Description, 
d.Date_Docum

ÐÌÁÎ ÐÏÌÕÞÁÀ:

PLAN SORT (JOIN (O INDEX (OPERATIONS_IDX__STATE), D INDEX (RDB$FOREIGN62, 
DOCUMENTS_IDX), DI INDEX (RDB$FOREIGN21)))SORT (JOIN (G INDEX 
(RDB$PRIMARY7), P INDEX (RDB$FOREIGN43), PC INDEX (IDX_PRODUCT_CARDS_1), DI 
INDEX (RDB$PRIMARY4), D INDEX (RDB$PRIMARY3)))(RECURS_GROUPS NATURAL)SORT 
(JOIN (O INDEX (OPERATIONS_IDX__STATE), D INDEX (RDB$FOREIGN62, 
DOCUMENTS_IDX), DI INDEX (RDB$FOREIGN21)))SORT (JOIN (PC INDEX 
(RDB$FOREIGN26), P INDEX (RDB$PRIMARY9), G INDEX (RDB$PRIMARY7), DI INDEX 
(RDB$PRIMARY4), D INDEX (RDB$PRIMARY3)))

ËÁË ÐÒÁ×ÉÌØÎÏ ÅÇÏ ÐÅÒÅÐÉÓÁÔØ, ÔÁË ËÁË ÏÞÅÎØ ÄÏÌÇÏ ×ÙÐÏÌÎÑÅÔÓÑ, ÂÏÌØÛÏÊ ÓËÁÎ 
ÔÁÂÌÉÃÙ docum_items. FB2 



Ответить