Jump to content

[Solucionado] Clientes que compraron un determinado artículo


Recommended Posts

Buenas tardes,

 

Quiero extraer una información de la BD pero no encuentro como y quiero comentároslo a ver si podéis ayudarme.

 

Quisiera saber qué clientes, y su email, han comprado un determinado artículo. Ya que tengo la lista de pedidos, de clientes, pero no encuentro como extraer los que han comprado el artículo X.

 

Lo necesito para hacer una promoción, y enviarla sólo a aquellos clientes que son recurrentes con ese producto y no molestar al resto con algo que seguramente no sería de su interés.

 

Gracias y un saludo

Edited by Canicross Market (see edit history)
Link to comment
Share on other sites

Hola,

 

En la base de datos hay una tabla "ps_order_detail" que tiene como referencia "product_id" y "product_attribute_id" para relacionarlo con el producto y variedad correspondiente, y a su vez con "id_order" con el pedido y "id_customer" con los clientes, por lo que con ello te podrías hacer una SQL estilo así:

 

 

SELECT c.firstname, c.lastname, c.email, p.reference, o.id_order, o.date_add AS date_order

FROM ps_order_detail AS od

LEFT JOIN ps_orders AS o ON od.id_order = o.id_order

LEFT JOIN ps_customer AS c ON o.id_customer = c.id_customer

WHERE od.product_id = 1 AND o.date_add BETWEEN '2016-01-01' AND '2016-04-04' AND o.valid = 1

ORDER BY o.date_add DESC

GROUP BY c.id_customer

 

Esto es algo improvisado aunque creo te servirá para lo que buscas.

 

Un saludo.

  • Like 1
Link to comment
Share on other sites

Muchas gracias!! Modificándolo un poco y dejándolo así (quitando el group by) me ha funcionado

 

SELECT c.firstname, c.lastname, c.email, o.date_add AS date_order FROM ps_order_detail AS od LEFT JOIN ps_orders AS o ON od.id_order = o.id_order LEFT JOIN ps_customer AS c ON o.id_customer = c.id_customer WHERE od.product_id = 5 AND o.date_add BETWEEN '2016-01-01' AND '2016-04-04' AND o.valid = 1 ORDER BY o.date_add;
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...