Jump to content

Edit History

defaliz

defaliz

bonjour

j'ai une requête qui fonctionne bien qui extrait les produits vendus dans 2 catégories (soins et accessoires)

il se trouve que certains produits sont dans les 2 catégories et donc comme je souhaite compter les produits vendus par catégories ils y sont 2 fois...

en SQL je cherche donc à ne pas additionner les produits qui sont dans les 2 catégories...

je peux le faire en PHP mais je voudrais savoir si c'est possible en SQL...

merci

SELECT  cl.`name` AS 'Catégorie',od.product_name AS 'Produits' , o.`date_add`
FROM  ps_order_detail od
LEFT JOIN ps_orders o ON o.id_order = od.id_order
INNER JOIN ps_category_product cp ON od.product_id = cp.id_product
INNER JOIN ps_category_lang cl ON cl.id_category = cp.id_category
WHERE cl.id_lang = 1   AND (cl.`name` = 'soins' OR cl.`name` = 'accessoires') AND o.`date_add` > "2021-12-31%"
ORDER BY od.product_name ASC

defaliz

defaliz

bonjour

j'ai une requête qui fonctionne bien qui extrait les produits vendus dans 2 catégories (soins et accessoires)

il se trouve que certains produits sont dans les 2 catégories et donc comme je souhaite compter les produits vendus par catégories ils y sont 2 fois...

en SQL je cherche donc à ne pas additionner les produits qui sont dans les 2 catégories...

je peux le faire en PHP mais je voudrais savoir si c'est possible en SQL...

merci

SELECT  cl.`name` AS 'Catégorie',od.product_name AS 'Produits' , o.`date_add`
FROM  ps_order_detail od
LEFT JOIN ps_orders o ON o.id_order = od.id_order
INNER JOIN ps_category_product cp ON od.product_id = cp.id_product
INNER JOIN ps_category_lang cl ON cl.id_category = cp.id_category
WHERE cl.id_lang = 1   AND (cl.`name` = 'soins' OR cl.`name` = 'accessoires') AND o.`date_add` > "2021-12-31%"
ORDER BY od.product_name ASC

×
×
  • Create New...