Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/06/2010, 08:27
marxlopez
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta SQL: Campo de tabla A está relacionado con 3 campos de la tabla B

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Debes hacer una invocación triple a la tabla de colores:
Código SQL:
Ver original
  1. SELECT
  2.    Idropa,
  3.    C1.nombrecolor color_pantalon,
  4.    C2.nombrecolor color_camisa,
  5.    C3.nombrecolor color_chaqueta
  6. FROM ropa R
  7.    INNER JOIN color C1 ON R.colorpantalon = C1.idcolor
  8.    INNER JOIN color C2 ON  ON R.colorcamisa = C2.idcolor
  9.    INNER JOIN color C3 ON R.colorchaqueta = C3.idcolor;
Esto se hace así porque simplemente no hay un registro único de color que te pueda dar la combinación completa, por lo que un sólo INNER JOIN no funciona, entonces se usa la misma tabla tres veces con un alias diferente para cada una.
Mil gracias amigo gnzsoloyo por tu gran ayuda y por tu clara explicación, he adaptado la consulta SQL para Access y quedó de la siguiente forma:

Código SQL:
Ver original
  1. SELECT Idropa,
  2. C1.nombrecolor AS color_pantalon,
  3. C2.nombrecolor AS color_camisa,
  4. C3.nombrecolor AS color_chaqueta
  5. FROM ((ropa INNER JOIN color AS C1 ON ropa.colorpantalon = C1.idcolor)
  6. INNER JOIN color AS C2 ON ropa.colorcamisa = C2.idcolor)
  7. INNER JOIN color AS C3 ON ropa.colorchaqueta = C3.idcolor;

Gracias.