Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2013, 08:41
vmoran
 
Fecha de Ingreso: abril-2013
Mensajes: 29
Antigüedad: 11 años
Puntos: 0
consulta recursiva (select)

hola a todos

tengo el siguiente problema una tabla donde en un campo almaceno el id padre al que pertenecen los hijos (esta en la misma tabla), pero necesito realizar una consulta que me muestre cada padre y sus respectivos hijos


id nombre idpadre
1 madera
2 roble 1
3 plasticos
4 bolsas 3

etc. he leido algo sobre select con la instruccion with recursive pero no entiendo como hacerlo: este es el ejemplo que he visto, pero lo hace para un registro especifico nombre maria, necesitaria que lo hiciera para todos los registros

Código SQL:
Ver original
  1. WITH RECURSIVE empleado_recursivo(distancia, nombre_empleado, nombre_gerente) AS (
  2.     SELECT 1, nombre_empleado, nombre_gerente
  3.     FROM empleado
  4.     WHERE nombre_gerente = 'María'
  5.   UNION ALL
  6.     SELECT er.distancia + 1, e. nombre_empleado, e. nombre_gerente
  7.     FROM empleado_recursivo er, empleado e
  8.     WHERE er.nombre_empleado = e.nombre_gerente
  9.   )
  10. SELECT distancia, nombre_empleado FROM empleado_recursivo;

Última edición por gnzsoloyo; 18/11/2013 a las 11:09