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

Select de multiples tablas

Estas en el tema de Select de multiples tablas en el foro de Mysql en Foros del Web. Necesito hacer un query que hagan un select de multiples tablas, y que cumpla una serie de condiciones, lo explico con un ejemplo resumido para ...
  #1 (permalink)  
Antiguo 20/03/2010, 15:33
Avatar de mandrake88  
Fecha de Ingreso: septiembre-2009
Mensajes: 328
Antigüedad: 14 años, 7 meses
Puntos: 13
Select de multiples tablas

Necesito hacer un query que hagan un select de multiples tablas, y que cumpla una serie de condiciones, lo explico con un ejemplo resumido para que se entienda mejor:

tabla1:
id (clave primaria)

tabla2:
id (clave primaria)
id_tabla1

tabla3:
id_tabla2
valor_ej

Necesito hacer un select que retorne los ultimos 6 registros de tabla2 cuyo valor id_tabla1 exista en tabla1, y que el valor_ej asociado a id_tabla2 (en la tabla3) sea igual a 1.

Como podria hacer eso? Mis conocimientos de sql son bastante basicos.
  #2 (permalink)  
Antiguo 20/03/2010, 20:47
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: Select de multiples tablas

Hola es SIMPLE, usa el INNER JOIN

Código MySQL:
Ver original
  1. SELECT * FROM tabla1
  2. INNER JOIN tabla2 ON tabla1.id=tabla2.id_tabla1
  3. INNER JOIN tabla3 ON tabla2.id=tabla3.id_tabla2
Un saludo y aumentame el CARMA pls!!!!
__________________
Msn: [email protected]
  #3 (permalink)  
Antiguo 20/03/2010, 21:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Select de multiples tablas

Prueba lo siguiente:
Código MySQL:
Ver original
  1.     t2.*
  2.     tabla1 AS t1
  3.     INNER JOIN tabla2 AS t2 ON t1.id = t2.id_tabla1
  4.     LEFT JOIN tabla3 AS t3 ON t2.id = t3.id_tabla2
  5.     t3.valor_ej = 1
  6.     t2.id DESC
  7.     0, 6;
Cambia el segundo join, el LEFT JOIN por INNER JOIN si necesitas que lo que este en tabla3, forsozamente tenga que estar en la tabla2.

Si necesitas una explicación avanzada, avisame.

Saludos.
  #4 (permalink)  
Antiguo 20/03/2010, 21:02
Avatar de mandrake88  
Fecha de Ingreso: septiembre-2009
Mensajes: 328
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Select de multiples tablas

Si, funciono con el query de c0rey, muchas gracias a ambos.

Última edición por mandrake88; 21/03/2010 a las 07:34
  #5 (permalink)  
Antiguo 21/03/2010, 08:34
Avatar de mandrake88  
Fecha de Ingreso: septiembre-2009
Mensajes: 328
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Select de multiples tablas

Tengo un caso en particular en el cual el query no esta devolviendo el resultado que quisiera.

En tabla3 puede existir mas de 1 registro del tipo (id_tabla2, valor_ej) para un mismo id_tabla2. En ese caso lo que está pasando es que me esta devolviendo 6 veces el primer registro encontrado de t2.

La condicion de que en tabla3 existia un registro que contenga (id_tabla2, valor_ej) con valor_ej = 1 solo me importa analizarla en el 1er registro encontrado, no se si me explico, si hay mas de un registro del tipo (id_tabla2, valor_ej) no me intersa (por mas que el valor_ej no cumpla con la condicion), solo tengo en cuenta el 1ero

Etiquetas: multiples, select, 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 21:06.