sql - 如何根据单个字段查询三个表

标签 sql select database relational

我的 SQL 数据库中有三个表。这个关系系统是由其他人设计的,但我被要求创建一个新查询,因为他不再为该公司工作。出于保密目的,我将使用样本名称。

  1. 客户
    customer_id
    产品代码
    产品颜色
    产品尺寸
    ...

  2. customer_link
    customer_id
    产品 ID

  3. customer_stats
    产品ID
    产品实际产品
    产品实际颜色
    产品实际尺寸
    ...

该系统是为用户在系统中输入信息而设计的,并且为每个客户提供多种产品。在 customer 中,显示的字段都是由 customer_id 从 (1) 到 (2) 链接的代码。然后,基于 (2) 中具有相同 customer_id 和不同 Product_id 的多个记录,两个可以在 (2) 和 (3) 之间具有多个链接。 (3) 具有链接的product_id 和(1) 中列出的代码的实际文本。

最重要的是,我需要一个基于 (1) 中的字段但存储在 (3) 中的数据的 SELECT 语句。哇,我很困惑,真的需要一些帮助。

最佳答案

这应该是非常简单的,

SELECT  a.*, c.*
FROM    customer a
        INNER JOIN customer_link b
            ON a.customer_ID = b.customer_ID
        INNER JOIN Customer_stats c
            ON b.product_id = c.product_id

要了解有关联接的更多信息,请参阅下面的链接

关于sql - 如何根据单个字段查询三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14041740/

相关文章:

mysql - 为什么这个查询运行得这么慢?

sql - 在 Oracle SQL 中连接表和获取数据时出现问题

jquery - 从 optgroup 中选择单个项目

MySQL 通过 UDF 生成 key 环导致 SQLException

database - 如何解析ORA-011033 : ORACLE initialization or shutdown in progress

javascript - 在 HTML 表中显示从 firebase 数据库检索到的信息

mysql - 两个表之间的交叉引用

sql - 在 SAS 隐式 Sql 传递中使用 Teradata UDF

sql - 检查数组是否值查询的子集?

MySQL,从两个表中选择时插入