nicomax17 Posted March 20, 2022 Share Posted March 20, 2022 (edited) Bonjour, Pour chacun de mes produits, dans "Catalogue" >> "Produits" >> "Entrepôts", j'ai attribué un "Emplacement" (voir image jointe). J'utilise une requête SQL qui m'affiche tous mes produits et leur quantité. Mais je souhaiterais extraire également l'emplacement de chaque produit. Savez-vous quelle table je dois cibler dans ma requête ? J'utilise la version 1.6.1.24 de Prestashop Edited March 20, 2022 by nicomax17 (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted March 21, 2022 Share Posted March 21, 2022 ps_warehouse_product_location Link to comment Share on other sites More sharing options...
nicomax17 Posted March 21, 2022 Author Share Posted March 21, 2022 Bonjour Eolia et merci pour ta réponse, Je viens de trouver également à l'instant en cherchant avec PhpMyAdmin ! Effectivement en faisant la requête suivante, ça m'affiche tous les emplacements : SELECT `location` FROM `ps_warehouse_product_location` J'ai pu récupérer et adapter la requête suivante pour afficher tous mes produits : SELECT p.id_product as 'ID PRODUIT', if(p.active = 0,'Non','Oui') as ACTIVÉ, pl.name as PRODUIT, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as CATEGORIE, p.reference as RÉFÉRENCE, qp.quantity as QUANTITÉ FROM ps_product p LEFT JOIN ps_stock_available qp ON (p.id_product = qp.id_product) LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product) LEFT JOIN ps_manufacturer man ON (man.name = p.id_manufacturer) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.id_shop_default = 1 AND c.id_shop_default = 1 AND p.active = 1 GROUP BY p.reference Par contre vu mon faible niveau en SQL, je ne sais pas trop comment faire pour incorporer la première requête à celle-ci ? Link to comment Share on other sites More sharing options...
nicomax17 Posted March 21, 2022 Author Share Posted March 21, 2022 (edited) J'ai essayé d'alléger la requête en essayant d'y incorporer l'appel à "ps_warehouse_product_location", comme ceci, mais je n'y arrive pas trop ! Une petite aide serait la bienvenue SELECT p.id_product as 'ID PRODUIT', if(p.active = 0,'Non','Oui') as ACTIVÉ, pl.name as PRODUIT, p.reference as RÉFÉRENCE, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as CATÉGORIE, p.location as EMPLACEMENT, qp.quantity as 'QTÉ PRESTASHOP', '' as 'QTÉ COMPTÉE' FROM ps_product p LEFT JOIN ps_stock_available qp ON (p.id_product = qp.id_product) LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_warehouse_product_location p ON (p.id_product = pl.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.active = 1 GROUP BY pl.name ASC Edited March 21, 2022 by nicomax17 (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted March 21, 2022 Share Posted March 21, 2022 ps_product p et ps_warehouse_product_location p ont le même alias donc ça ne va pas^^ SELECT p.id_product as 'ID PRODUIT', if(p.active = 0,'Non','Oui') as ACTIVÉ, pl.name as PRODUIT, p.reference as RÉFÉRENCE, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as CATÉGORIE, wpl.location as EMPLACEMENT, qp.quantity as `QTÉ PRESTASHOP`, '' as `QTÉ COMPTÉE` FROM ps_product p LEFT JOIN ps_stock_available qp ON (p.id_product = qp.id_product) LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_warehouse_product_location wpl ON (wpl.id_product = pl.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.active = 1 GROUP BY pl.name ASC Link to comment Share on other sites More sharing options...
nicomax17 Posted March 21, 2022 Author Share Posted March 21, 2022 Un grand merci Eolia, ça fonctionne parfaitement 🤩 Ça va grandement m'aider pour faire mes inventaires. Link to comment Share on other sites More sharing options...
nicomax17 Posted November 28, 2022 Author Share Posted November 28, 2022 (edited) Bonjour, Je suis passé à la version Prestashop 1.7.8.6. Du coup, la requête qui fonctionnait avec la version 1.6.1.24 ne fonctionne plus sous la 1.7.8.6 dans le sens où l'emplacement n'est plus affiché ! >> toutes les colonnes sont ok sauf celle de EMPLACEMENT qui est vide. Une petite aide serait la bienvenue pour modifier la requête suivante : SELECT p.id_product as 'ID PRODUIT', if(p.active = 0,'Non','Oui') as ACTIVÉ, pl.name as PRODUIT, p.reference as RÉFÉRENCE, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as CATÉGORIE, wpl.location as EMPLACEMENT, qp.quantity as `QTÉ PRESTASHOP`, '' as `QTÉ COMPTÉE` FROM ps_product p LEFT JOIN ps_stock_available qp ON (p.id_product = qp.id_product) LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_warehouse_product_location wpl ON (wpl.id_product = pl.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.active = 1 GROUP BY pl.name ASC Merci par avance Edited November 28, 2022 by nicomax17 (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 28, 2022 Share Posted November 28, 2022 Il me semble normal que cela ne fonctionne plus puisque c'est une fonctionnalité abandonnée dans la 1.7. Link to comment Share on other sites More sharing options...
nicomax17 Posted November 28, 2022 Author Share Posted November 28, 2022 Bonjour Mediacom87, Sur la copie d'écran ci-jointe il y a bien un champ de prévu pour l'emplacement en stock (version 1.7.8.6). C'est ce champ que je voudrais pouvoir extraire dans la requête. 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