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

INNER JOIN con 4 tablas

Estas en el tema de INNER JOIN con 4 tablas en el foro de Mysql en Foros del Web. Hola gente, tengo 4 tablas de la siguiente manera: Y trato de hacer una consulta que me muestre todas las subcategorias, éstas tienen un tipo ...
  #1 (permalink)  
Antiguo 16/03/2011, 18:31
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 14 años, 8 meses
Puntos: 1
Pregunta INNER JOIN con 4 tablas

Hola gente, tengo 4 tablas de la siguiente manera:


Y trato de hacer una consulta que me muestre todas las subcategorias, éstas tienen un tipo y a su vez cada tipo tiene una categoria y una marca.

La consulta que hice fue la siguiente:

Código MySQL:
Ver original
  1. SELECT s. * , ct.id CTID, ct.id_categoria, ct.id_marca, ct.nombre CTN, c.id CID, c.nombre CN, m.id MI, m.nombre MN
  2. FROM subcategoria s
  3. INNER JOIN categoria_tipo ct ON s.id_categoria_tipo = ct.id
  4. INNER JOIN categoria c ON ct.id_categoria = c.id
  5. INNER JOIN marca m ON ct.id_marca = c.id

La consulta da resultados pero el nombre de la marca no coincide con los tipos de categorias....
O sea que se ve que estoy haciendo algo mal pero no lo logro encontrar...

Alguien puede darme una mano?

Muchas gracias
Saludos,
Pancho
  #2 (permalink)  
Antiguo 17/03/2011, 07:06
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: INNER JOIN con 4 tablas

Saludos

En la subcategoria por que repites id_categoria e id_marca?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 17/03/2011, 08:15
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: INNER JOIN con 4 tablas

Hola Pancho_Khan:

Si checas los últimos dos INNER JOIN tienes lo siguiente

Código:
INNER JOIN categoria c ON ct.id_categoria = c.id
INNER JOIN marca m ON ct.id_marca = c.id 
Me parece que fue un error de copiar-pegar jejeje, el último INNER JOIN debería quedar así:

Código:
INNER JOIN marca m ON ct.id_marca = m.id 
Haz la prueba y nos comentas.

Saludos
Leo

Etiquetas: join, tablas
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 04:47.