我在stackoverflow上尝试了类似问题的解决方案,但没有成功。 这是mysql查询:
$sql= "SET group_concat_max_len = 2048";
$sql = "select p.id,p.name,p.logo,p.short_description, GROUP_CONCAT(c.category_name SEPARATOR ', ') from eshop p, eshop_cat c GROUP BY p.id";
我无法理解查询的错误,但c.category结果为空。如果我这样做没有组concat并使用内部联接我收到所有数据正确。但是对于每种产品的每个类别,我有相同产品的多行。 (例如,如果产品有3个类别,那么它会显示产品3次。)我只想为每个产品分为1行,并用逗号分隔这些类别 你能帮帮我吗
答案 0 :(得分:2)
试试这个
$sql= "SET group_concat_max_len = 2048";
$sql = "select p.id,p.name,p.logo,p.short_description, GROUP_CONCAT(c.category_name SEPARATOR ', ') as category_names from eshop p join eshop_cat c on
p.id=c.id GROUP BY p.id";
只需放置您的关系列p.id=c.id
,然后它就会适合您。