Porque no intentas esto:
ID NOMBRE ID_PADRE
1 RUBRO1 0
2 RUBRO11 1
3 RUBRO2 0
4 RUBRO21 3
///***LOS PADRES TIENEN QUE TENER COMO ID_PADRE=0
//***
CREATE PROCEDURE GET_ARBOLRUBROS
RETURNS (NOMB_PADRE CHAR (50), NOMB_HIJO VARCAR(50))
AS
BEGIN
FOR SELECT NOMBRE FROM RUBROS
WHERE ID_PADRE=0 ORDER BY ID INTO :NOMB_PADRE DO
BEGIN
FOR SELECT NOMBRE FROM RUBROS
WHERE ID>0 ORDER BY ID INTO :NOMB_HIJO DO
BEGIN
SUSPEND;
END
END
END
Armas tu reporte y lo agrupas por el campo NOMB_PADRE.
Ojala te sirva.
|