繁体   English   中英

如何解决显示每种产品四次而不是一次的查询?

[英]How can i fix my query that shows me four times each of the products instead of one?

我试图从mySQL导出所有产品和有关它们的一些信息,所以我编写了以下查询

SELECT * FROM products
JOIN descriptions
ON products.product_id = descriptions.product_id
JOIN category_descriptions
ON categories.category_id = descriptions.category_id

由于某种原因,它输出每个产品四次。 谁能帮我找出原因?

更新: cscart_products中只有122个产品。 该查询后的结果为488。

添加GROUP BY cscart_products.product_id

您的查询:

SELECT * FROM cscart_products
JOIN cscart_product_descriptions
ON cscart_products.product_id = cscart_product_descriptions.product_id
JOIN cscart_products_categories
ON cscart_products.product_id = cscart_products_categories.product_id
JOIN cscart_category_descriptions
ON cscart_products_categories.category_id = cscart_category_descriptions.category_id
GROUP BY cscart_products.product_id

SELECT DISTINCT解决了您的问题: http : //www.sql-tutorial.com/sql-distinct-sql-tutorial/

产品具有多个描述或类别,或者一个类别具有多个描述,或者数据库上存在重复的条目。

谁能帮我找出原因?

这是一个线索。 您使用的通配符用于显示所有列/字段。 查询中使用了四个表。 现在我们还不能确定什么,因为还没有发布数据库模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM