mysql sql语句在一行停止解析

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,

我正在尝试从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, 
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
然后,应该为这些列中的每个值组合获取一行信息

你可能也应该一点一点地分组学习