Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/07/2012, 12:58
Avatar de trofserpiente
trofserpiente
 
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: como usar el join con mas de dos tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Por ejemplo:

Dos tablas:
Código MySQL:
Ver original
  1. SELECT T1.a, T1.b, T2.c, T2.d
  2.     T1
  3.     INNER JOIN T2 ON T1.a = T2.a;
Tres tablas:
Código MySQL:
Ver original
  1. SELECT T1.a, T1.b, T2.c, T2.d
  2.     T1
  3.     INNER JOIN T2 ON T1.a = T2.a
  4.     INNER JOIN T3 ON T2.e = T3.e;
Cuatro tablas:
Código MySQL:
Ver original
  1. SELECT T1.a, T1.b, T2.c, T2.d
  2.     T1
  3.     INNER JOIN T2 ON T1.a = T2.a
  4.     INNER JOIN T3 ON T2.e = T3.e
  5.     INNER JOIN T4 ON T3.f = T4.f;
¿Se entiende el concepto?
Detalle: Las tablas en realidad no necesariamente van como una cadena de tipo
T1 -> T2 -> T3...
sino que van vinculados los campos de acuerdo a las relaciones definidas en su diseño de tablas.
Buen podrían ser:
Código MySQL:
Ver original
  1. SELECT T1.a, T1.b, T2.c, T2.d
  2.     T1
  3.     INNER JOIN T2 ON T1.a = T2.a
  4.     INNER JOIN T3 ON T1.a = T3.e
  5.     INNER JOIN T4 ON T2.f = T4.f;
o cualquier otro requerido por el diseño de la base y la consulta.
Lo que debes tener en cuenta es que los INNER JOIN resulten lógicamente correctos. En ocasiones los resultados parecen estar mal, o tardar mucho tiempo, porque el orden de las tablas es incorrecto, o bien porque la relación produce productos cartesianos por estar mal planteada.
Sólo la experiencia te ayuda a saber cómo resolver esos problemas. No hay reglas absolutas.
No le entiendo.por que en select usted pone solo dos tablas y en el join si muestra las tres. Igual. No me ha servido los ejemplos
__________________
Luis Alfonso Cruz Valbuena
[email protected]