在我的商店中,产品 A 有不同的属性,让它们是:
白色(左12件)、黑色(左10件)、红色(左6件)
我已成功将所有产品及其类别、数量和属性导出到 csv 中,但我希望表格如下所示:
产品A/白色/12
产品A/黑色/10
产品A/红色/6
产品 B/尺码 S/5
产品 B/尺寸 M/6
因此,产品的每种组合都有可用的数量。 我现在的查询如下:
SELECT
p.id_product,
p.id_category_default,
GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ";") as categories,
pa.reference,
pl.name,
GROUP_CONCAT(DISTINCT(pal.name) SEPARATOR "; ") as combination,
p.price,
pq.quantity
FROM 7_ps_product p
LEFT JOIN 7_ps_product_attribute pa ON (p.id_product = pa.id_product)
LEFT JOIN 7_ps_stock_available pq ON (p.id_product = pq.id_product AND pa.id_product_attribute = pq.id_product_attribute)
LEFT JOIN 7_ps_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN 7_ps_product_attribute_combination pac ON (pa.id_product_attribute = pac.id_product_attribute)
LEFT JOIN 7_ps_attribute_lang pal ON (pac.id_attribute = pal.id_attribute)
LEFT JOIN 7_ps_category_product cp ON (p.id_product = cp.id_product)
LEFT JOIN 7_ps_category_lang cl ON (cp.id_category = cl.id_category)
LEFT JOIN 7_ps_category c ON (cp.id_category = c.id_category)
WHERE pl.id_lang = 1
AND pal.id_lang = 1
GROUP BY pa.reference
ORDER BY p.id_product, pac.id_attribute
感谢您为帮助像我这样的人做出的巨大贡献!!
最佳答案
我已经像这样更改了您的查询,以便获得您需要的输出
SELECT
CONCAT(pl.name,' / ',pal.name,' / ', pq.quantity) AS required
FROM ps_product p
LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product)
LEFT JOIN ps_stock_available pq ON (p.id_product = pq.id_product AND pa.id_product_attribute = pq.id_product_attribute)
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN ps_product_attribute_combination pac ON (pa.id_product_attribute = pac.id_product_attribute)
LEFT JOIN ps_attribute_lang pal ON (pac.id_attribute = pal.id_attribute)
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)
WHERE pl.id_lang = 1
AND pal.id_lang = 1
GROUP BY p.id_product,pal.name
ORDER BY p.id_product, pac.id_attribute
我更改了 GROUP BY 和 SELECT 字段。我认为这就是您需要的答案。
关于mysql - 导出 Prestashop 中具有属性的产品库存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31690685/