加入四个没有单一公共值的mySQL表

时间:2015-04-22 22:08:02

标签: mysql

我有四个表需要从中提取数据。其中三个表具有公共值(product_id),第四个表具有与第三个表(category_id)共同的值。所以他们看起来像这样:

产品: product_id,名称,数量,图像,重量

PRODUCT_DESCRIPTION: product_id,描述

Product_to_Category: product_id,category_id

类别: category_id,category_name

我需要提取所有数据并将其合并到一个看起来像这样的结果中 名称,数量,图像,重量,描述,类别名称

我知道如何进行适用于前三个表的JOIN,但我不知道如何将其添加到结果中。

1 个答案:

答案 0 :(得分:3)

只需在join上添加category_id

select p.name, p.quantity, p.image, p.weight, pd.description, c.category_name
from products p 
    join product_description pd on p.product_id = pd.product_id
    join Product_to_Category pc on p.product_id = pc.product_id
    join category c on pc.category_id = c.category_id