我有3个表:Products,Categories,Product_Category。
产品表有:“id,product_name”
id | product_name
------ | ------------
1 | glove
2 | shirt
分类表有:“id,category_name”
id | category_name
------ | -------------
1 | cotton
2 | polyester
3 | leather
Product_Category表有“id,product_id,category_id”
id | product_id | category_id
-- | ---------- | -----------
1 | 1 | 1
2 | 1 | 3
3 | 2 | 2
产品可以有多个类别,因此我希望运行查询的以下输出
输出:
手套 - 棉,皮革衬衫 - 涤纶
这是我没有运气的尝试。
SELECT products.product_name, categories.category_name
FROM product_category
INNER JOIN products on product_category.product_id=products.id
INNER JOIN categories on product_category.category_id=categories.id
LIMIT 0,1000
我意识到这可能是一个简单的查询,只是无法搞清楚。
答案 0 :(得分:1)
试试这个
select p.product_name, group_concat(c.category_name, ",") category_name
from Product_Category pc
join Categories c ON (pc.category_id = c.id)
join Products p ON (pc.product_id = p.id)
group by 1