如何在MySQL中查询以下透视表?

如何在MySQL中查询以下透视表?,mysql,pivot-table,Mysql,Pivot Table,我对SQL非常陌生,并且一直在学习一些关于透视表的知识。现在,我试图同时查询3个表,但无法使其正常工作 以下是我目前拥有的表格: 产品表 类别表 **带有prod和cat作为FK的prod_cat枢轴表** | prod | cat | |------------------------| | 1 | 1 | |------------------------| | 2 | 1 | |----------

我对SQL非常陌生,并且一直在学习一些关于透视表的知识。现在,我试图同时查询3个表,但无法使其正常工作

以下是我目前拥有的表格:

产品表

类别表

**带有prod和cat作为FK的prod_cat枢轴表**

|    prod   |    cat     |
|------------------------|
|     1     |    1       |
|------------------------|
|     2     |    1       |
|------------------------|
|     1     |    2       |
|------------------------|
|     2     |    2       |
pivot表基本上允许我为每个产品设置多个类别。我很确定我的逻辑对表设置很好,我可能错了,但我的问题是我不确定如何查询所有3个表以输出该项所属的所有类别。我不知道如何在表格中显示,因此如果您需要问题的更多细节,请发表评论,我会尽力编辑它


任何帮助都将不胜感激

有不同的方法。 一是

你需要学习的是如何学习mysql连接


首先,您可以学习有关的课程。prod_cat是一个连接表,而不是数据透视表,jou需要连接以连接3个表:

select p.p_id, p.name, c.cat
from products p
inner join prod_cat pc on p.id=pc.prod
inner join category c on pc.cat=c.cat_id
where p.p_id=...
|    prod   |    cat     |
|------------------------|
|     1     |    1       |
|------------------------|
|     2     |    1       |
|------------------------|
|     1     |    2       |
|------------------------|
|     2     |    2       |
select * from prod_cat
left join products on products.p_id = prod_cat.prod
left join category on category.cat_id = prod_cat.cat
select p.p_id, p.name, c.cat
from products p
inner join prod_cat pc on p.id=pc.prod
inner join category c on pc.cat=c.cat_id
where p.p_id=...