NT>     оба варианта ни к чёрту :)

NT>     select p.* from from recurs_groups(:id_groups) g
NT>      join products p on g.id=p.id_group

NT> Да? Для экспериментов взят FB2rc3 Тогда запрос:

NT>      select p.name,p.fullname,p.description,
NT>                sum(di.qty),di.price_prov,di.price,di.discount,
NT>                d.date_docum,d2.date_docum,f.name,g.name,f.code
NT>         from products p, docum_items di, documents d, firms f,
NT>              product_cards pc, docum_items di2, documents d2, groups g,
NT>              (select id from recurs_groups(0)) rg
NT>         where (p.id_product = di.id_product)
NT>           and rg.id=p.id_group
NT>           and (d.id_docum = di.id_docum)
NT>           and (d.date_docum between '01.09.2006' and '09.11.2006')
NT>           and (d.id_operation = 2)
NT>           and (d.id_firm = f.id_firm)
NT>           and (di.id_card = pc.id_card)
NT>           and (pc.id_docitem = di2.id_docitem)
NT>           and (di2.id_docum = d2.id_docum)
NT>           and (p.id_group = g.id_group)
NT>         group by p.name,p.fullname,p.description,
NT>               
NT> 
di.price_prov,di.price,di.discount,d.date_docum,d2.date_docum,f.name,g.name,f.code

(дальше поскипано)

  Я конечно не гуру, но ты, ИМХО, не обратил внимание на ЯВНЫЙ JOIN это раз.
  Два - попробуй всё-же переписать свой запрос поставив выборку из SP
  на первое место. Да и потом, не знаю как кто, но лично я за такие
  запросы ...  ну почему не вязать явнымии Join ? И парсеру легче и
  тебе было-бы понятней ...
  А вообще-то тебе с такими запросами сюда: http://ibase.ru/devinfo/joins.htm
  там очень популярно описана твоя ситуация, + и - подобного построения 
запросов ...

С уважением,
Константин Григорьевич.
===============


Ответить