Ver Mensaje Individual
  #3  
Antiguo 16-04-2007
PatrickM PatrickM is offline
Miembro
 
Registrado: jun 2006
Posts: 21
Reputación: 0
PatrickM Va por buen camino
gracias por tu respuesta. A nivel teorico se que hay aproximaciones al problema, pero me gustaria saber si alguien ha encontrado la solución a mi problema con una sola consulta SQL.

En código delphi lo resolveria con una funcion recursiva, que como mucho se ejecutaria un numero de veces menor o igual a la altura del arbol. Algo similar a esto:

Código Delphi [-]
function DevuelveHerencia(Codigo: integer): integer;
   begin
     If codigo<>-1 Then Begin
       SentenciaSQL;
       GuardarCodigo(Codigo);
       DevuelveHerencia(Codigo_Padre);
     End;
   end;

El problema esta si quiero saber la Herencia de un conjunto de elementos del arbol. Entonces necesitaria ejecutar tantas sentencias SQL como Elementos tubiera, y esto multiplicado por la altura del arbol, es decir un coste N*Altura hablando en llamadas SQL, mientras que yo busco un coste 1.

Última edición por PatrickM fecha: 16-04-2007 a las 19:52:58.
Responder Con Cita