"Dmitry Yemanov" <[EMAIL PROTECTED]> wrote in 
message news:[EMAIL PROTECTED]
>
> Nikolay Trifonov wrote:
>>
>> ËÁË ÐÒÁ×ÉÌØÎÏ ÅÇÏ ÐÅÒÅÐÉÓÁÔØ
>
> éÚÂÁ×ÉÔØÓÑ ÏÔ NOT IN. îÁÐÒÉÍÅÒ, × ÐÏÌØÚÕ NOT EXISTS.
>
>
> --
> äÍÉÔÒÉÊ åÍÁÎÏ×
>
>

óÄÅÌÁÌ, ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÌÕÞÛÅ. ðÏÌÕÞÉÌ ÐÌÁÎ
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)JOIN 
(JOIN (DI2 INDEX (RDB$FOREIGN65), D2 INDEX (RDB$PRIMARY3)), O2 INDEX 
(RDB$PRIMARY8))SORT (JOIN (PC INDEX (RDB$FOREIGN26), P INDEX (RDB$PRIMARY9), 
G INDEX (RDB$PRIMARY7), DI INDEX (RDB$PRIMARY4), D INDEX (RDB$PRIMARY3)))

îÉÞÅÇÏ ÎÅÌØÚÑ ÅÝÅ ÕÌÕÞÛÉÔØ?
ôÅËÓÔ ÚÁÐÒÏÓÁ:

    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  not exists (select di2.id_product
                               from documents d2, docum_items di2, 
operations o2
                               where d2.id_docum = di2.id_docum
                                 and d2.id_operation = o2.id_operation
                                 and o2.state in (3)
                                 and d2.date_docum between :DateBegin and 
:DateEnd
                                 and di2.id_product=p.id_product)
      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



Ответить