【问题标题】:Joining four mySQL tables without a single common value连接四个没有单个公共值的 mySQL 表
【发布时间】:2015-06-30 20:00:59
【问题描述】:

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

产品: product_id、名称、数量、图片、重量

产品描述: product_id,描述

Product_to_Category: product_id, category_id

类别: 类别id,类别名称

我需要提取所有数据并将其组合成如下所示的结果 名称、数量、图片、重量、描述、类别名称

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

【问题讨论】:

  • 首先在你的问题中尽可能多地写下连接。

标签: mysql


【解决方案1】:

只需在category_id 上添加一个额外的join

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2019-05-06
    • 2019-08-26
    • 2020-10-12
    相关资源
    最近更新 更多