Jump to content

Requête produits non livrés


Recommended Posts

Bonjour

Je souhaite faire une requête pour avoir la quantité de produits non livrés, c'est à dire quantité mis à zéro dans la commande car problème de stock. Voici ma requête :

SELECT
    COUNT(od.product_id), 
    od.product_name
FROM
    ps_order_detail od
WHERE 
    od.product_quantity = 0
GROUP BY
    od.product_id,
    od.product_name
ORDER BY 
    COUNT(od.product_id) DESC

Je voudrais rajouté dans combien de commandes sur trouve le produit non livré.

C'est là que je coince et que je ne sais pas faire.

Qui peut m'aider ?

Merci

 

hervé

Link to comment
Share on other sites

Je voudrais pas dire de bêtises car je ne suis pas professionnelle en Prestashop ni BDD mais je vais essayé de vous aidez un peu en réfléchissant avec vous.

De ce que j'ai pu voir, une ligne de ps_order_detail correspond à un produit dans une commande. Si vous avez 2 produits dans la même commande alors en BDD il y aura 2 lignes dans la table avec un id_order identique.

Du coup, avec votre Count(od.product_id), vous devriez avoir le nombre de commandes dans lequel apparaît votre fameux produit avec une quantité en stock= 0

De ce fait, votre requête actuelle répond à votre question.

Cependant, il me semble que vous ne récupérer pas la quantité des produits non livrés commandés. A moins que vous ne parliez pas de la somme totale de produits commandés avec une quantité en stock = 0 ... Dans ce cas là, je ne comprends pas votre demande

 

Bonne journée, 

Cordialement

Wen

Link to comment
Share on other sites

Bonjour

Merci pour votre retour, néanmoins j'ai fini pas trouvé !

Voici le requête qu'il me fallait

SELECT
	ps_order_detail.product_reference AS CODE_METI, 
	ps_order_detail.product_ean13 AS EAN, 
	ps_order_detail.product_name AS NOM_PRODUIT, 
	COUNT(ps_order_detail.id_order) AS NB_DE_COMMANDE, 
	SUM(ps_order_detail.product_quantity_in_stock) AS QTE_PRODUIT_NON_LIVRE, 
	ps_stock_available.quantity AS STOCK,
	MAX(ps_orders.date_add) AS DATE_DERNIERE_COMMANDE
FROM
	ps_order_detail
	INNER JOIN
	ps_stock_available
	ON 
		ps_order_detail.product_id = ps_stock_available.id_product
	INNER JOIN
	ps_orders
	ON 
		ps_order_detail.id_order = ps_orders.id_order
WHERE
	ps_order_detail.product_quantity = 0
GROUP BY
	CODE_METI, 
	EAN, 
	NOM_PRODUIT
ORDER BY
	NB_DE_COMMANDE DESC, 
	QTE_PRODUIT_NON_LIVRE DESC

Encore merci

 

Hervé

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