![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выборка из процедуры. [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