Jump to content

Bug requete SQL export produit


Recommended Posts

Bonjour,

EDIT: Version de prestashop 1.6.1.0

Je rencontre un bug lors de l'exportation de mes produits via le SQL manager avec cette requete (exportation de tout le catalogue), cela bug depuis que je veux importer les ID des marques.... ml.id_manufacturer AS 'Manufacturer' et LEFT JOIN `ps_manufacturer_lang` ml ON (p.id_manufacturer = ml.id_manufacturer)         :

SELECT
p.`id_product`,		
b.name as name,`reference`,
ml.id_manufacturer AS 'Manufacturer',
p.price as price,
sa.active as active 			, 
shop.name as shopname, 
p.ean13 AS 'EAN13',
p.id_shop_default, MAX(image_shop.id_image) id_image, 
GROUP_CONCAT(DISTINCT(c.id_category) SEPARATOR ",") as categories, 
sa.`price`, 0 AS price_final, p.`is_virtual`,
pd.`nb_downloadable`, 
sav.`quantity` as sav_quantity, sa.`active`, IF(sav.`quantity`<=0, 1, 0) badge_danger 			
FROM `ps_product` p
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 c ON (cp.id_category = c.id_category)
LEFT JOIN `ps_product_lang` b ON (b.`id_product` = p.`id_product` AND b.`id_lang` = 1 AND b.`id_shop` = p.id_shop_default) 			 		
LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product`)
LEFT JOIN `ps_manufacturer_lang` ml ON (p.id_manufacturer = ml.id_manufacturer) 		
LEFT JOIN `ps_stock_available` sav ON (sav.`id_product` = p.`id_product` AND sav.`id_product_attribute` = 0 		 AND sav.id_shop_group = 1  AND sav.id_shop = 0 )  JOIN `ps_product_shop` sa ON (p.`id_product` = sa.`id_product` AND sa.id_shop = p.id_shop_default) 				
LEFT JOIN `ps_category_lang` cl ON (sa.`id_category_default` = cl.`id_category` AND b.`id_lang` = cl.`id_lang` AND cl.id_shop = p.id_shop_default) 				LEFT JOIN `ps_shop` shop ON (shop.id_shop = p.id_shop_default) 				
LEFT JOIN `ps_image_shop` image_shop ON (image_shop.`id_image` = i.`id_image` AND image_shop.`cover` = 1 AND image_shop.id_shop = p.id_shop_default) 				
LEFT JOIN `ps_product_download` pd ON (pd.`id_product` = p.`id_product`)  			 			
WHERE 1
AND pl.id_lang = 1
GROUP BY sa.id_product
ORDER BY p.`id_product` ASC

Via le SQL Manager cette requete me genere un csv comme cela:

 

forum-espacekids3.png

 

Par contre en passant par Phpmyadmin ma requête marche très bien.

Ce n'est pas le première fois que cela m'arrive et j'aimerais pouvoir passer par le BO plutôt que par phpmyadmin (facilité accés client).

 

Merci pour vos commentaires, réponses et suggestions.

Edited by Alexandre-KM (see edit history)
Link to comment
Share on other sites

bonjour,

 

faut pas confondre sql server et MYQSL

Ca c'est sûr, mais je ne vois pas le rapport, il n'est pas question d'un ni de l'autre.

Prestashop a développé une interface permettant d'utiliser des requêtes sql (uniquement en select) dans une interface spécifique. Le problème apparemment, c'est qu'il ont "oublié" d'enlever les éventuelles balises html avant d'envoyer la requête. Dans phpmyadmin le problème ne se pose pas, car ce sont des \r\n

Link to comment
Share on other sites

  • 4 years later...

Pour infos :
Version : Prestashop 1.6.1.24
Hébergement : OVH
Serveur : Vps
Situation : Divers modifications mais le client ne saurait pas m'expliquer en détail.

Bonjour @Alexandre Carette ,

Comment avez vous réglé ce problème ?

Je rencontre actuellement la même problématique sur un projet que j'ai récupéré récemment.
Après mise à jour de Prestashop : 1.6.1.1 > .24, la requête ci dessous ne fonctionne plus en export mais est ok en affichage.

La requête est la suivante :

SELECT 
p.active as Actif,
p.id_product as ID, 
CONCAT(p.id_product, sa.id_product_attribute) as ID_With_Attr, 
m.name as Fabriquant,
pl.name as Libelle, 
GROUP_CONCAT( al.name) as Declinaison, 
sa.quantity as Quantite, 
p.wholesale_price as Prix_Achat_HT,
CASE sa.id_product_attribute
       WHEN 0 THEN (p.price + p.ecotax) * 1.2
       ELSE (pa.price + p.ecotax) 
END as Prix_Vente_TTC,
p.available_for_order as Disponible_A_La_Vente,
p.emballage_cadeau as Emballage_Cadeau,
p.retrait_magasin as Retrait_Magasin,
p.prix_montage as Prix_Montage,
p.prix_livraison as Prix_Livraison,
c.name as Categorie_Principale,
p.weight as Poids_Colis, 
p.out_of_stock as En_Cas_De_Rupture,
pl.meta_title as Meta_Title,
pl.meta_description as Meta_Description
FROM 
jos_ps7_product_lang pl
LEFT JOIN `jos_ps7_product` p ON(pl.id_product = p.id_product)  
LEFT JOIN `jos_ps7_stock_available` sa ON(pl.id_product = sa.id_product AND pl.id_lang=2) 
LEFT JOIN `jos_ps7_product_attribute` pa ON(pa.id_product_attribute = sa.id_product_attribute) 
LEFT JOIN `jos_ps7_product_attribute_combination` pac ON(pac.id_product_attribute = sa.id_product_attribute) 
LEFT JOIN `jos_ps7_attribute_lang`  al ON(al.id_attribute = pac.id_attribute AND al.id_lang=2) 
LEFT JOIN `jos_ps7_manufacturer` m ON(p.id_manufacturer = m.id_manufacturer)  
LEFT JOIN `jos_ps7_category_lang` c ON(p.id_category_default = c.id_category AND c.id_lang=2) 
WHERE pl.id_shop IN (1) AND pl.id_lang=2
GROUP BY p.id_product, sa.id_product_attribute 
ORDER BY p.id_product ASC

 

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