Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Listar categorias y respectivas subcategorias misma tabla

Estas en el tema de Listar categorias y respectivas subcategorias misma tabla en el foro de Mysql en Foros del Web. Hola q tal. Tengo una sola tabla para listar las categorias y subcategorias. Necesitaria ayuda para hacer un listado de las categorias y dentro de ...
  #1 (permalink)  
Antiguo 24/07/2012, 13:52
 
Fecha de Ingreso: octubre-2004
Ubicación: Uruguay
Mensajes: 386
Antigüedad: 20 años, 2 meses
Puntos: 4
Listar categorias y respectivas subcategorias misma tabla

Hola q tal. Tengo una sola tabla para listar las categorias y subcategorias. Necesitaria ayuda para hacer un listado de las categorias y dentro de ellas las respectivas subcategorias que tengo añadidas en la base de datos solo con un "select"
Lo que estaria buscando hacer es listar esto:

->Sentimientos
->Saludos
---> Aniversarios
---> Bienvenidos
->Celebraciones
---> Navidad
---> Año nuevo

Adjunto la base de datos con unos registros para que puedan ver como estamos trabajando. Saludos

CREATE TABLE IF NOT EXISTS `categorias` (
`idcategoria` int(4) NOT NULL AUTO_INCREMENT,
`categoria` varchar(200) COLLATE latin1_general_ci NOT NULL,
`idcategoria_padre` int(8) NOT NULL,
PRIMARY KEY (`idcategoria`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=71 ;
--
-- Volcar la base de datos para la tabla `categorias`
--
INSERT INTO `categorias` (`idcategoria`, `categoria`, `idcategoria_padre`) VALUES
(1, 'Sentimientos', 0),
(2, 'Saludos', 0),
(3, 'Celebraciones', 0),
(15, 'Aniversarios', 2),
(16, 'Bienvenidos', 2),
(32, 'Navidad', 3),
(33, 'Año Nuevo', 3);
  #2 (permalink)  
Antiguo 24/07/2012, 14:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Listar categorias y respectivas subcategorias misma tabla

MySQL no tiene consultas recursivas, como Oracle. Para lograr lo que quieres deberás hacer un LEFT JOIN sobre la misma tabla por cada nivel que exista, usando alias para cada llamada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: categorias, registros, select, subcategorias, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:15.