Mysql 查询 returns 每条记录的重复结果

Mysql query returns duplicate results for each record

我不是 sql 大师,但我有三个表,每个表都添加了一个外键(也许这就是问题所在)

|---------------------|    |---------------------|   |---------------------| 
|   DISTINCT_DEALER   |    |  DISTINCT_CUSTOMER  |   |    CUSTOMER_SALES   |
|---------------------|    |---------------------|   |---------------------| 
|      d_id   (pk)    |    |       d_id          |   |        d_id         |
|---------------------|    |---------------------|   |---------------------| 
|    dealer_address   |    |     dealer_name     |   |   customer_number   |
|---------------------|    |---------------------|   |---------------------| 
|    dealer_city      |    |   customer_number   |   |    total_sales      |
|---------------------|    |---------------------|   |---------------------| 
|    dealer_state     |    |    customer_name    |
|---------------------|    |---------------------| 
|    dealer_zip       |    |    customer_email   |
|---------------------|    |---------------------| 

我对 distinct_customers d_id 参考 distinct_dealer d_id 有一个 FK,对 d_id 参考 distinct_dealer 的客户销售有一个 FK d_id.

当我 运行 下面这个查询时,它 returns 每条记录重复 54 ​​次(那条记录的总记录数 d_id。

select d.d_id, d.dealer_name, cs.total_sales from dship d
join cs_sales cs on d.d_id = cs.d_id order by d.d_id

看起来它为每个 d_id 返回了一条记录,有人能看出我做错了什么吗?

我想你想要聚合:

select d.d_id, d.dealer_name,
       sum(cs.total_sales)
from dship d join
     cs_sales cs
     on d.d_id = cs.d_id 
group by d.d_id;