Jump to content

Prestashop SQL Query - Lister plus d'un produit si plusieurs produits acheté par le client.


Recommended Posts

Bonjour,

J'essaie de faire une requête SQL qui permet de lister toutes les commandes avec les noms des produits commandés par client.

ça marche, mais la requête m'affiche qu'un seul nom de produit quand il y a plus d'un produit commandé. 

Si on part du principe qu'un client achete 2 produits dans la même commande, comment afficher tous les produits et non qu'un seul ?

Voici la base de ma requête SQL :

 

SELECT
   d.id_order,
   o.date_add,
   CONCAT_WS(' ', g.firstname, g.lastname) AS customer,
   os.name AS state,
   d.product_name,
   d.product_reference,
   d.product_quantity AS order_placed,
   ROUND(Count(d.id_order) / 2) AS product_quantity,
   total_paid,
   o.payment,
   a.vat_number AS vat_number,
   c.name AS carrier_name,
   CONCAT_WS(' ', a.lastname, a.firstname, a.address1, a.address2, a.postcode) AS address_delivery,
   CONCAT_WS(' ', a.lastname, a.firstname, a.address1, a.address2, a.postcode) AS address_invoice,
   REPLACE(IFNULL(GROUP_CONCAT(cd.value), ''), '"', '\'') AS customized_data
FROM
   ps_order_detail d 
   LEFT JOIN
      ps_orders o 
      ON (d.id_order = o.id_order) 
   LEFT JOIN
      ps_customer g 
      ON (o.id_customer = g.id_customer)
   LEFT JOIN
      ps_carrier c 
      ON (o.id_carrier = c.id_carrier) 
   LEFT JOIN
      ps_order_state_lang os 
      ON (o.current_state = os.id_order_state) 
   LEFT JOIN
      ps_address a 
      ON (a.id_address = o.id_address_delivery) 
   LEFT JOIN
      ps_address ab 
      ON (ab.id_address = o.id_address_invoice) 
   LEFT JOIN
      ps_customization cu 
      ON (cu.id_cart = o.id_cart) 
   LEFT JOIN
      ps_customized_data cd 
      ON (cd.id_customization = cu.id_customization) 
WHERE
   o.date_add BETWEEN '2023-02-01' AND '2023-03-01'
GROUP BY
   d.id_order 
ORDER BY
   d.id_order DESC

Merci pour votre aide.

Link to comment
Share on other sites

  • 1 month later...

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...