Вниз
Скачать: CL | DM;

Выборка из процедуры.   Найти похожие ветки 

 
YurikGL ©   (2004-11-22 12:17) [0]

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

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


 
Johnmen ©   (2004-11-22 13:08) [1]

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


 
YurikGL ©   (2004-11-22 14:09) [2]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
3-1100700425
Александр_
2004-11-17 17:07
2004.12.19
Как узнать о результате выполнения запроса в InterBase?


4-1099471291
Фагот
2004-11-03 11:41
2004.12.19
Автозапуск


8-1095439667
Рыба
2004-09-17 20:47
2004.12.19
ScanLine и RGB


3-1100687772
Chery
2004-11-17 13:36
2004.12.19
Нет конекта через службу Borland Socket Server.


1-1101980982
PURGEN
2004-12-02 12:49
2004.12.19
Tedit




   Наверх