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 C.`id_customer`,
C.`firstname`,
C.`lastname`,
`address1`,
`address2`,
`city`,
`postcode`,
`phone`,
`phone_mobile`,
`product_name`
`ps_customer` C
`ps_address` A
ON C.
`id_customer` = A.
`id_customer` `ps_orders` O
ON C.
`id_customer` = C.
`id_customer` `ps_orden_detail` OD
ON O.
`id_order` = OD.
`id_order`
Lo que no ves, porque no conoces los fundamentos del modelo relacional, es que
sí 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?