Canicross Market Posted April 8, 2016 Share Posted April 8, 2016 (edited) 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 April 13, 2016 by Canicross Market (see edit history) Link to comment Share on other sites More sharing options...
PrestashopTrackglobe Posted April 8, 2016 Share Posted April 8, 2016 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. 1 Link to comment Share on other sites More sharing options...
Canicross Market Posted April 12, 2016 Author Share Posted April 12, 2016 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 More sharing options...
PrestashopTrackglobe Posted April 12, 2016 Share Posted April 12, 2016 (edited) Hola, Ok, me alegro que te haya servido, puedes marcar el tema como solucionado por si le puede servir a otro usuario. Un saludo. Edited April 12, 2016 by PrestashopTrackglobe (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now