Php 我的查询返回重复项

Php 我的查询返回重复项,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,您好,我有一个从数据库中选择产品的查询,但由于某些原因,它返回重复的产品。我想问题在于我的联接,因为在产品表中没有重复的产品。我的问题是: $stmt=$dbh->prepare("SELECT p.name, p.slug, p.id_product, p.price, pig.image, c1.slug as ssubcat, c2.slug as subcat, c3.slug as cat FROM tbl_products p INNER JOIN tb

您好,我有一个从数据库中选择产品的查询,但由于某些原因,它返回重复的产品。我想问题在于我的联接,因为在产品表中没有重复的产品。我的问题是:

$stmt=$dbh->prepare("SELECT 
 p.name,
 p.slug,
 p.id_product,
 p.price,
 pig.image,
 c1.slug as ssubcat,
 c2.slug as subcat,
 c3.slug as cat
FROM
 tbl_products p 
 INNER JOIN tbl_products_to_categories ptoc 
   ON ptoc.id_product = p.id_product 
 INNER JOIN tbl_catalog_categories c1 
   ON ptoc.id_category = c1.id_category 
 LEFT JOIN tbl_catalog_categories c2 
   ON c1.id_parent = c2.id_category 
 LEFT JOIN tbl_catalog_categories c3 
   ON c2.id_parent = c3.id_category 
 INNER JOIN tbl_products_images_gallery pig 
   ON pig.id_product = p.id_product 
WHERE (c1.slug = :slug OR c2.slug = :slug OR c3.slug = :slug )
 AND p.active = 1 
 AND p.quantity = 1 
ORDER BY p.name ASC 
LIMIT $start, $row_limit"); 

没有数据库设计是很困难的。我们是否需要了解多对一或一对多关系?我猜一个产品可能有多个图像,您正在选择所有图像。是否有可能显示上面查询的结果?您可以在此处看到。你可以在第一页看到15个animaux家族是重复的。它只有一个图像如果一个产品在多个类别中,你会得到一行,它的每一个类别。