Jump to content

Edit History

nicomax17

nicomax17

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

 

nicomax17

nicomax17

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 ?

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

 

×
×
  • Create New...