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

Seleccionar todo los registros enlazados a una categoria padre contendedora de otras

Estas en el tema de Seleccionar todo los registros enlazados a una categoria padre contendedora de otras en el foro de Mysql en Foros del Web. Hola buena de nuevo, Tengo una duda. Mi database: products products_categories products_has_products_categories La tabla products_categories tiene un campo products_categories que puede ser NULL, que tendría ...
  #1 (permalink)  
Antiguo 17/02/2012, 03:45
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años
Puntos: 165
Seleccionar todo los registros enlazados a una categoria padre contendedora de otras

Hola buena de nuevo,

Tengo una duda.

Mi database:

products
products_categories
products_has_products_categories

La tabla products_categories tiene un campo products_categories que puede ser NULL, que tendría anidado a que categoría pertenece,

Quería saber como sacar todos los products que pertenecen a una categoría padre, que podría tener X subcategorias.

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #2 (permalink)  
Antiguo 17/02/2012, 05:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 7 meses
Puntos: 2658
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Es un LEFT | INNER JOIN por cada nivel que se agregue a la búsqueda. No hay una sentencia estandarizada que te pueda devolver ese resultado en forma automática.
La sentencia se debe construir dinámicamente, sea en un SP o por programación.
Normalmente lo que sucede es que la cantidad de niveles tiene un límite práctico, dado por las reglas del negocio, por lo que es mas o menos sencillo preparar una sentencia.
Pero cuando tienes N relaciones, como en una red social, la única solución sencilla es iterar la búsqueda por cada nivel. No es una forma optima, pero resulta eficiente para el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/02/2012, 08:42
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años
Puntos: 165
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Hola muchas gracias por tu ayuda,

No se pueden hacer bucles y funciones en mysql?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #4 (permalink)  
Antiguo 17/02/2012, 08:50
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 6 meses
Puntos: 447
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Compañer@ miktrv, hay que darle una revisada a la documentación de MySQL antes de acudir a los foros:

http://dev.mysql.com/doc/refman/5.0/...rocedures.html

http://dev.mysql.com/doc/refman/5.0/...onstructs.html

Saludos
Leo.
  #5 (permalink)  
Antiguo 17/02/2012, 08:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 7 meses
Puntos: 2658
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Cita:
No se pueden hacer bucles y funciones en mysql?
No en una consulta. Se pueden hacer en los stored procedures, pero no devuelven los punteros por fuera de los mismos, como Oracle, ya que son sólo locales.
En ese contexto lo que conviene es crear tablas temporary donde almacenas la información recolectada y luego la devuelves al final del SP con un simple SELECT final.
Pero no obtienes algo mucho mejor que creando la consulta dinamicamente, así que no se qué tan practico puede resultar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 17/02/2012, 08:55
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años
Puntos: 165
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Vale de acuerdo, entonces me recomiendas que haga consultas desde PHP en mi caso de manera dinámica por cada uno de los niveles, cierto?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #7 (permalink)  
Antiguo 17/02/2012, 09:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 7 meses
Puntos: 2658
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

Yo lo probaría por ese lado, antes de meterme con los SP, que son un poco más rígidos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 17/02/2012, 09:35
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años
Puntos: 165
Respuesta: Seleccionar todo los registros enlazados a una categoria padre contendedor

De acuerdo,

Muchas gracias por tu tiempo!

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: enlazados, padre, registros, tabla, todo, campos, categorias
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




La zona horaria es GMT -6. Ahora son las 00:35.