Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/06/2013, 19:54
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Consulta cruzada de 4 tablas

Tu consulta está correctamente escrita, y representa perfectamente la relación descripta en el diagrama.
Limpiándola un poco queda:
Código MySQL:
Ver original
  1.     C.`id_customer`,
  2.     C.`firstname`,
  3.     C.`lastname`,
  4.     `address1`,
  5.     `address2`,
  6.     `city`,
  7.     `postcode`,
  8.     `phone`,
  9.     `phone_mobile`,
  10.     `product_name`
  11.     `ps_customer` C
  12.         INNER JOIN
  13.     `ps_address` A ON C.`id_customer` = A.`id_customer`
  14.         INNER JOIN
  15.     `ps_orders` O ON C.`id_customer` = C.`id_customer`
  16.         INNER JOIN
  17.     `ps_orden_detail` OD ON O.`id_order` = OD.`id_order`
  18. ORDER BY `postcode`
Lo que no ves, porque no conoces los fundamentos del modelo relacional, es que existe una relación entre el ps_customer y ps_order_detail, porque esa relación es transitiva, es decir que la relación surge de la existencia de un registro en ps_order que está relacionado con el ps_customer por su id_customer.
¿Por qué dices que "no funciona"?
¿En qué sentido no funciona?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)