Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2016, 10:03
Avatar de chulifo
chulifo
 
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años, 1 mes
Puntos: 18
Recursividad en una misma tabla

Buen dia.

Tengo una tabla con esta estructura:

id | id_pertenece | nombre
1 | 4 ....................| Grupo 1
2 | 9....................|Sub grupo1
3 | 9....................| sub grupo 2
4 | 0....................| Principal
5 | 4....................| grupo2
6 | 4....................|grupo 3
7 | 9....................| sub grupo 3
8 | 4....................| grupo 4
9 | 4....................|grupo 5

explico:
cuando el id_pertenece es = 0 , quiere decir que es el grupo raiz.
La tabla que muestro indica que todos los sub grupos dependen del grupo 5 y que este grupo 5 al igual que los otros grupos n, dependen del princiapl.

la pregunta que tengo es, como selecciono los ultimos eslavones (sub grupos 1,2 y 3) conociendo que el princiapl es id = 4 ?

espero haberme explicado bien.

hasta ahora solo puedo saber quien depende del principal:

Código MySQL:
Ver original
  1. select * from grupos where id_pertenece = 4


Código MySQL:
Ver original
  1. select * from grupos where id_pertenece = (select id from grupos where id = 0)
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.