mysql sql语句在一行停止解析
我正在尝试从prestashop导出我的产品,并尝试添加一个图像循环来查找产品的图像。它停在一行并将找到的所有图像放在该列中mysql sql语句在一行停止解析,mysql,sql,group-by,Mysql,Sql,Group By,我正在尝试从prestashop导出我的产品,并尝试添加一个图像循环来查找产品的图像。它停在一行并将找到的所有图像放在该列中 select ps_product.id_product, ps_product.upc, ps_product.price, ps_product.weight, ps_product.date_add, GROUP_CONCAT(DISTINCT(CONCAT('/img/p/', IF(CHAR_LENGTH(ps_image.id_image) >= 5,
select ps_product.id_product, ps_product.upc, ps_product.price,
ps_product.weight, ps_product.date_add,
GROUP_CONCAT(DISTINCT(CONCAT('/img/p/',
IF(CHAR_LENGTH(ps_image.id_image) >= 5,
CONCAT(
SUBSTRING(ps_image.id_image, -5, 1),
'/'),
''),
IF(CHAR_LENGTH(ps_image.id_image) >= 4, CONCAT(SUBSTRING(ps_image.id_image, -4, 1), '/'), ''),
IF(CHAR_LENGTH(ps_image.id_image) >= 3, CONCAT(SUBSTRING(ps_image.id_image, -3, 1), '/'), ''),
IF(CHAR_LENGTH(ps_image.id_image) >= 2, CONCAT(SUBSTRING(ps_image.id_image, -2, 1), '/'), ''),
IF(CHAR_LENGTH(ps_image.id_image) >= 1, CONCAT(SUBSTRING(ps_image.id_image, -1, 1), '/'), ''),
ps_image.id_image,
'.jpg')) SEPARATOR ', ') AS 'base_image',
ps_stock_available.quantity, ps_product_lang.description,
ps_product_lang.name, ps_product_lang.description_short,
ps_product_lang.link_rewrite, ps_product_lang.meta_title,
ps_product_lang.meta_description
from ps_product
INNER JOIN ps_product_lang ON ps_product.id_product=ps_product_lang.id_product
INNER JOIN ps_stock_available ON ps_product.id_product=ps_stock_available.id_product
INNER JOIN ps_image ON ps_product.id_product=ps_image.id_product
ORDER BY ps_product.id_product;
如果我删除图像部分,它将循环数据库中的所有行,我无法找出哪里出了问题。GROUP\u CONCAT()
是一个聚合函数。当它出现在没有GROUPBY
子句的查询中时,它的功能是使查询只有一行,将查询中的所有内容连接起来
尝试在ORDER BY子句之前添加此项
GROUP BY ps_stock_available.quantity, ps_product_lang.description,
ps_product_lang.name, ps_product_lang.description_short,
ps_product_lang.link_rewrite, ps_product_lang.meta_title,
ps_product_lang.meta_description
然后,应该为这些列中的每个值组合获取一行信息
您可能还应该学习一下分组。GROUP\u CONCAT()
是一个聚合函数。当它出现在没有GROUPBY
子句的查询中时,它的功能是使查询只有一行,将查询中的所有内容连接起来
尝试在ORDER BY子句之前添加此项
GROUP BY ps_stock_available.quantity, ps_product_lang.description,
ps_product_lang.name, ps_product_lang.description_short,
ps_product_lang.link_rewrite, ps_product_lang.meta_title,
ps_product_lang.meta_description
然后,应该为这些列中的每个值组合获取一行信息
你可能也应该一点一点地分组学习