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