djmortis Posted May 15, 2014 Share Posted May 15, 2014 (edited) Buenas, tengo Prestashop 1.6.0.6, necesito sacar un listado de ventas por cliente en donde indique que cantidad se ha comprado de cada producto entre unas fechas determinadas Ejemplo... Sacar resultados del 14/05/2014 al 15/05/2014 Cliente Prueba - Taza musical - 1 comprado Cliente Prueba - Vaso de cristal - 2 comprados Cliente Prueba 4 - Tenedor azul - 1 comprado ¿Es posible?, gracias. Edited May 15, 2014 by djmortis (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted May 15, 2014 Share Posted May 15, 2014 Si no tienes ningún programa de gestíon o ERP lo mejor es que lo hagas mediante una consulta sql 1 Link to comment Share on other sites More sharing options...
djmortis Posted May 15, 2014 Author Share Posted May 15, 2014 Pero, una consulta como?, no se donde guarda cada dato, :S Porque en el ps_customers guarda el numero total de ventas, pero no de que producto es cada una, :S Sorry por mi ignorancia, pero soy relativamente nuevo en prestashop y voy perdido aún con todas sus tablas. Link to comment Share on other sites More sharing options...
ventura Posted May 15, 2014 Share Posted May 15, 2014 Mira a modo de ejemplo puedes utilizar algo asi y buscar por la referencia del producto, tendrías que ajustar las fechar al rango que quierás y buscar por referencia SELECT CONCAT_WS( ' ', g.firstname, g.lastname ) AS Cliente, n.`product_name` AS Producto, n.`product_quantity` AS Cantidad FROM `ps_orders` o LEFT JOIN `ps_customer` g ON g.`id_customer` = o.`id_customer` LEFT JOIN `ps_order_detail` n ON n.`id_order` = o.`id_order` WHERE o.date_upd BETWEEN '2014-01-01' AND '2014-12-31' AND n.`product_reference` = "demo_2" LIMIT 0 , 30 2 Link to comment Share on other sites More sharing options...
djmortis Posted May 15, 2014 Author Share Posted May 15, 2014 Perfecto, solucionado, muchisimas gracias, Link to comment Share on other sites More sharing options...
djmortis Posted May 15, 2014 Author Share Posted May 15, 2014 (edited) Una cosita más, tengo tres campos en customers que son provincia, localidad, centro, bueno, tendré ya que no me salen los combos, lo que realmente me interesa es que me salgan esos campos en el informe de ventas, para saber cuantos productos ha comprado el centro X. ¿Sería así? SELECT CONCAT_WS( ' ', g.firstname, g.lastname, g.provincia, g.localidad, g.centro ) AS Cliente, n.`product_name` AS Producto, n.`product_quantity` AS CantidadFROM `ps_orders` oLEFT JOIN `ps_customer` g ON g.`id_customer` = o.`id_customer` LEFT JOIN `ps_order_detail` n ON n.`id_order` = o.`id_order` WHERE o.date_updBETWEEN '2014-01-01'AND '2014-12-31'AND n.`product_reference` = "demo_2"LIMIT 0 , 30 Edited May 15, 2014 by djmortis (see edit history) Link to comment Share on other sites More sharing options...
djmortis Posted May 15, 2014 Author Share Posted May 15, 2014 Si, es así, :D Link to comment Share on other sites More sharing options...
moraira Posted May 26, 2014 Share Posted May 26, 2014 bueno no exactamente.... cuando usamos CONCAT_WS( ' ', g.firstname, g.lastname ) AS Cliente, es para unir en un campo el nombre y el apellido. lo que tu quieres en realidad debes poner antes o despues: g.provincia as provincia, g.localidad as poblacion, g.centro as centro Aunque lo que comenta djmortis es válido realmente la forma correcta es esta ya que si quieres ordenar por alguno de los tres, si esta dentro del nombre y el apellido no podrás Link to comment Share on other sites More sharing options...
aronhernandez Posted March 9, 2015 Share Posted March 9, 2015 Creo que mi necesidad es un poco mas sencilla: Necesito un reporte de las ventas por cliente entre dos fechas y que me entregue un archivo CSV con el customer_ID y la suma de las compras. Como veo que aqui hay experiencia con el gestor SQL, les pido ayuda. Gracias. Link to comment Share on other sites More sharing options...
ventura Posted March 10, 2015 Share Posted March 10, 2015 Para eso lo mejor es que utilices el modulo creado por Enrique Engblom https://www.prestashop.com/forums/topic/358171-modulo-exportar-pedidos-en-csv-ps16/ Link to comment Share on other sites More sharing options...
aronhernandez Posted March 10, 2015 Share Posted March 10, 2015 Está muy bueno el módulo, pero este descarga todos los pedidos, yo busco descargar el monto de los productos comprados por cada cliente en un determinado rango de fechas. Un archivo CSV con dos columnas, la primera es customer_ID y la segunda es el monto de los productos comprados por cada cliente en el rango de fechas solicitado. Al sumarse las ventas obviamente no podría haber mas de un renglón con el mismo customer_ID, y con el módulo si se repite porque lo que hace es descargar pedidos. Link to comment Share on other sites More sharing options...
aronhernandez Posted March 11, 2015 Share Posted March 11, 2015 Confieso que soy un novato con cero estudio y experiencia en SQL, pero con algo de persistencia y curiosidad he logrado el siguiente código: SELECT id_customer,SUM(total_products) FROM ps_orders WHERE date_upd BETWEEN '2014-01-01' AND '2015-12-31' OR current_state = 2 OR current_state = 4 OR current_state = 5 GROUP BY id_customer Con esto obtengo una lista con el monto de la suma de los pedidos con estado 2, 4 o 5 en un determinado rango de fechas. Lo único que me falta es eliminar los resultados cuyo valor es 0, existen un producto de prestashop que funciona como inscripción a una membresía y tiene precio = 0, es por eso que me arroja resultados igual a cero. Mi pregunta sería, ¿qué modifico en el código para que solamente me arroje las sumas de pedidos de clientes mayores a cero? Link to comment Share on other sites More sharing options...
ventura Posted March 12, 2015 Share Posted March 12, 2015 Lo único que me falta es eliminar los resultados cuyo valor es 0, existen un producto de prestashop que funciona como inscripción a una membresía y tiene precio = 0, es por eso que me arroja resultados igual a cero. Mi pregunta sería, ¿qué modifico en el código para que solamente me arroje las sumas de pedidos de clientes mayores a cero? Prueba asi SELECT id_customer,SUM(total_products) FROM ps_orders WHERE date_upd BETWEEN '2014-01-01' AND '2015-12-31' AND current_state IN (2,4,5) GROUP BY id_customer HAVING SUM(total_products) > 0 1 Link to comment Share on other sites More sharing options...
aronhernandez Posted March 12, 2015 Share Posted March 12, 2015 Perfecto, muchas gracias. Link to comment Share on other sites More sharing options...
jota_09 Posted July 8, 2017 Share Posted July 8, 2017 Buenas chico. Yo tengo un problema similar. No tengo ni idea de sql, y necesitaria hacer una consulta que me diga las ventas que ha hecho cada cliente de mi tienda, con los siguientes datos: Id_cliente, nombre-cliente, Apellidos_cliente, dni, Producto-comprado,precio_producto, cantidad_comprada, y forma_de_pago. Podriais decirme como seria? Link to comment Share on other sites More sharing options...
Daniel Díaz Posted September 19, 2019 Share Posted September 19, 2019 Hola @jota_09 para los usuarios que no saben o no pueden hacer consultas SQL ni desarrollos a medida, la mejor opción es utilizar un software externo, si un ERP que sea muy completo es una opción demasiado cara recuerda que puedes usar Nirvine KPI, tiene toda la información de ventas, clientes y producto junto a campañas y otras fuentes de datos. un saludo! 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