Como saco todos los productos y atributos de una base de datos de prestashop con mysql

0 votos
preguntado por Zeus (16,780 puntos)

Como saco todos los productos y atributos de una base de datos de prestashop con mysql

Está es mi mejor opción :X

SELECT  p.`id_product`  AS `id_product`,
p.`reference`  AS `reference`,
p.`ean13`  AS `ean13`,
p.`price`  AS `price`,
pl.`name`  AS `name`,
pl.`link_rewrite`  AS `link_rewrite`,
sa.`active`  AS `active`,
image_shop.`id_image`  AS `id_image`,
concat( 'https://documentosepa.eu/img/p/',mid(image_shop.id_image,1,1),'/', if (length(image_shop.id_image)>1,concat(mid(image_shop.id_image,2,1),'/'),''),if (length(image_shop.id_image)>2,concat(mid(image_shop.id_image,3,1),'/'),''),if (length(image_shop.id_image)>3,concat(mid(image_shop.id_image,4,1),'/'),''),if (length(image_shop.id_image)>4,concat(mid(image_shop.id_image,5,1),'/'),''), image_shop.id_image, '.jpg' ) AS url_image,
cl.`name`  AS `name_category`,
sav.`quantity`  AS `sav_quantity`,
  ag.id_attribute_group, ag.is_color_group, agl.name AS group_name, al.name AS attribute_name, a.id_attribute, pa.unit_price_impact
FROM  `psmig_product` p
LEFT JOIN `psmig_product_lang` pl ON (pl.`id_product` = p.`id_product` AND pl.`id_lang` = 1 AND pl.`id_shop` = 1)
LEFT JOIN `psmig_stock_available` sav ON (sav.`id_product` = p.`id_product` AND sav.`id_product_attribute` = 0 AND sav.id_shop = 1  AND sav.id_shop_group = 0 )
JOIN `psmig_product_shop` sa ON (p.`id_product` = sa.`id_product` AND sa.id_shop = 1)
LEFT JOIN `psmig_category_lang` cl ON (sa.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 1 AND cl.id_shop = 1)
LEFT JOIN `psmig_category` c ON (c.`id_category` = cl.`id_category`)
LEFT JOIN `psmig_shop` shop ON (shop.id_shop = 1)
LEFT JOIN `psmig_image_shop` image_shop ON (image_shop.`id_product` = p.`id_product` AND image_shop.`cover` = 1 AND image_shop.id_shop = 1)
LEFT JOIN `psmig_image` i ON (i.`id_image` = image_shop.`id_image`)
/* atributos */
LEFT JOIN psmig_product_attribute pa ON pa.id_product = p.`id_product`
LEFT JOIN psmig_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute
LEFT JOIN psmig_attribute a ON a.id_attribute = pac.id_attribute
LEFT JOIN psmig_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group
LEFT JOIN psmig_attribute_lang al ON (a.id_attribute = al.id_attribute AND al.id_lang = 1)
LEFT JOIN psmig_attribute_group_lang agl ON (ag.id_attribute_group = agl.id_attribute_group AND agl.id_lang = 1)
/* atributos */
WHERE (1 AND state = 1 and p.`reference` is not null and p.`ean13` is not null and p.`reference` <>'' and p.`ean13` <>'' ) 
ORDER BY `p`.`reference`  DESC

Por favor, accede o regístrate para responder a esta pregunta.

Bienvenido a Preguntas y respuestas para programadores o profesionales de la informática. Si tienes cualquier duda aquí obtendrás la respuesta.
...