Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка из процедуры. [D7, IB 7]


YurikGL ©   (2004-11-22 12:17:00) 

Есть две таблицы

Sborki
IdSborki
и куча параметров

IerhLink
IdIerhLink
IdSborkaParent//Родительская сборка
IdSborkaChild //Дочерняя сборка
COUNTS        //Количество дочерних сборок в родительской

Есть рекурентная процедура, которая по заданной родительской сборке выбирает все входящие в нее дочерние и считает количество

Есть рекурентная процедура, которая проходится по дереву и выбирает все входящие сборки.


CREATE PROCEDURE RECURALLNODES(
   IDSBORKAIN INTEGER,
   COUNTSIN INTEGER)
RETURNS (
   IDSBORKAOUT INTEGER,
   COUNTSOUT INTEGER)
AS
begin
 IdSborkaOut=IdSborkaIn;
 CountSOut=CountSIn;
 Suspend;
 for Select IdSborkaChild, CountS*:CountSIn
     From IerhLink
     where IdSborkaParent=:IdSborkaIn
     into :IdSborkaOut, :CountSOut
     do begin
        For Select IdSborkaOut, CountSOut
            From RecurAllNodes(:IdSborkaOut,:CountSOut)
            InTo :IdSborkaOut,:CountSOut
            do suspend;
        End
end


Как создать запрос, который бы мне вернул сгруппировано сборки, содержащиеся не в одной сборке а в нескольких? Что-то типа


select recurallnodes.idsborkaout, sum (recurallnodes.countsOut)
from sborki, recurallnodes(sborki.idsborka,1)
where sborki.idsborka in (1,2,41)
group by recurallnodes.idsborkaout


YurikGL   (2004-11-22 14:09:00) [1]

>Johnmen ©   (22.11.04 13:08) [1]

Спасибо. Получилось.


Johnmen   (2004-11-22 13:08:00) [2]

читани здесь http://www.krista.ru/ib/proc-join.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо