MySQL:从引用其他两个表的一个表中选择字段

MySQL:从引用其他两个表的一个表中选择字段,mysql,Mysql,我有三个表:产品、类别、产品类别 产品表有:“id,产品名称” 类别表有:“id,类别名称” 产品类别表具有“id、产品id、类别id” 产品可以有多个类别,因此我希望从我运行的查询中获得以下输出 产量:手套-棉,皮革衬衫-涤纶 这是我尝试过但没有运气的东西 SELECT products.product_name, categories.category_name FROM product_category INNER JOIN products on product_category.pro

我有三个表:产品、类别、产品类别

产品表有:“id,产品名称”

类别表有:“id,类别名称”

产品类别表具有“id、产品id、类别id”

产品可以有多个类别,因此我希望从我运行的查询中获得以下输出

产量:
手套-棉,皮革
衬衫-涤纶

这是我尝试过但没有运气的东西

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
我意识到这可能是一个简单的查询,只是想不出来。

试试这个

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

可能只是输入错误,但productid 2没有子类别,子类别3没有匹配的类别!那确实是个打字错误。修正了(我希望)@PaulKragthorpe上面提到的查询有什么问题?预期的结果是什么。谢谢我知道这很容易。基本上就是我不知道的那个团体。我现在让它工作了=)我做了,但没有足够的声誉让它马上表现出来。
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
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