åÓÔØ ÐÒÏÃÅÄÕÒÁ ÏÂÈÏÄÁ ÄÅÒÅ×Á:

CREATE PROCEDURE RECURS_GROUPS (
    parent integer)
returns (
    id integer)
as
BEGIN
  IF (EXISTS (SELECT id_group FROM groups WHERE id_group = :parent)) THEN
          BEGIN
             id = parent;
             SUSPEND;
          END
       FOR SELECT id_group FROM groups WHERE id_parent = :parent
         INTO :id
       DO BEGIN
          FOR SELECT id FROM recurs_groups(:id) INTO :id DO SUSPEND;
       END
end

ëÁË ÎÁ FB2 ÌÕÞÛÅ Ó ÎÅÊ ÒÁÂÏÔÁÔØ:

select p.*
from  products p
where p.id_group in (select id from recurs_groups(:id_groups))

ÉÌÉ

select p.*
from  products p
where exists (select id from recurs_groups(:id_groups) where id=p.id_group) 



Ответить