SQL - select jerarquico

 
Vista:

select jerarquico

Publicado por Johnny (1 intervención) el 14/01/2008 19:22:09
Hola.

Mi duda es la siguiente:

Me gustaría saber cómo hace un SELECT jerarquico, de manera que me traiga primero el nombre de una persona(Responsable) y luego las actividades que le corresponden a esa persona.

Más o menos de esta manera:

Reponsable

Actividad 1
Actvitidad 2
etc...

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:select jerarquico

Publicado por stella (16 intervenciones) el 15/01/2008 16:35:54
Si tienes estructura tipo arbol utilliza connect by / prior.
Te mando dos codigos q te podrian servir:

/*-- CON UN CURSOR Y VARIBLES AUX--*/
declare
cursor c_1 is
select distinct cdresponable, cdactividad, dsactividad
from tabla_actividades
where condiciones
order by 1;

wwcdresponable_aux tabla_responsables.cdresponable%type:='~';


begin
dbms_output.put_line('Responsable');
dbms_output.put_line(' Actividad');
dbms_output.put_line(' ---------');

for reg in c_1 loop
if ( wcdresponable_aux = '~') --1º vez
or
( wcdresponable_aux != reg.wcdresponable) --cambio responsable
then
dbms_output.put_line(reg.wcdresponable);
wcdresponable_aux := reg.wcdresponable;
end if;
dbms_output.put_line(' '||reg.cdactividad||' '||reg.dsactividad);
end loop;
end;

/*-- CON DOS CURSORES--*/
declare
cursor c_respon is
select distinct cdresponable
from tabla_responsables
where condiciones;

cursor c_activ (wcdresponable tabla_responsables.cdresponable%type) is
select distinct cdactividad, dsactividad
from tabla_actividades
where cdresponsable = wcdresponsable;
begin

dbms_output.put_line('Responsable');
dbms_output.put_line(' Actividad');
dbms_output.put_line(' ---------');

for reg1 in c_respon loop
dbms_output.put_line(reg1.cdresponsable);
for reg2 in c_activ(reg1.cdresponsable) loop
dbms_output.put_line(' '||reg2.cdactividad||' '||reg2.dsactividad);
end loop;
end loop;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select jerarquico

Publicado por Juan Guillermo (1 intervención) el 11/02/2008 21:23:32
Hola, necesito armar un select jerarquico multinivel...es decir, la cantidad de anidaciones es ilimitada....como puedo hacer eso en SQL SERVER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar