join - 多个表加入重复行(问题是主键引起的吗?)
问题描述
我想将这三个表连接在一起,但结果与我的预期不符。
表 1: Brand_Table_ID:(customer_ID & Product_ID & Sub_type_product_ID)
Brand_Table_ID | 客户ID | 产品_ID | 子类型产品 ID | 品牌价值 | 月 |
---|---|---|---|---|---|
AAA01_PPP01_01 | AAA01 | PPP01 | 01 | 一个 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | 一个 | 2021/06 |
表 2:Potential_Table_ID:(customer_ID & Product_ID & Sub_type_product_ID)
潜力_表_ID | 客户ID | 产品_ID | 子类型产品 ID | 潜在价值 | 月 |
---|---|---|---|---|---|
AAA01_PPP01_01 | AAA01 | PPP01 | 01 | 高的 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | 低的 | 2021/06 |
表 3 Transaction_ID : (customer_ID & Product_ID & Sub_type_product_ID)
交易ID | 客户ID | 产品_ID | 子类型产品 ID | 销售员_ID | 月 |
---|---|---|---|---|---|
AAA01_PPP01_01 | AAA01 | PPP01 | 01 | SSS01 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | SSS02 | 2021/06 |
组合这三个表后,我预计结果将是:
交易ID | 客户ID | 产品_ID | 子类型产品 ID | 销售员_ID | 品牌价值 | 潜在价值 | 月 |
---|---|---|---|---|---|---|---|
AAA01_PPP01_01 | AAA01 | PPP01 | 01 | SSS01 | 一个 | 高的 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | SSS02 | 一个 | 低的 | 2021/06 |
但是,我得到了这个结果
交易ID | 客户ID | 产品_ID | 子类型产品 ID | 销售员_ID | 品牌价值 | 潜在价值 | 月 |
---|---|---|---|---|---|---|---|
AAA01_PPP01_01 | AAA01 | PPP01 | 01 | SSS01 | 一个 | 高的 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | SSS02 | 一个 | 高的 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | SSS01 | 一个 | 低的 | 2021/06 |
AAA01_PPP01_02 | AAA01 | PPP01 | 02 | SSS02 | 一个 | 低的 | 2021/06 |
我想知道会发生什么情况。是不是因为这三个表的主ID不唯一?
如果是的话,作为 ( customer_ID & Product_ID & Sub_type_product_ID & Salesperson_ID ) 或 ( customer_ID & Product_ID & Sub_type_product_ID & Salesperson_ID & Month ) 的唯一 ID 设计会很棒吗?
或者,在我合并表格之前,它是否有我应该知道的额外知识?
解决方案
推荐阅读
- java - 如何将数组作为参数传递给函数,以及与存储在数组中的对象具有相同数据类型的对象?
- domain-driven-design - 导致子实体更改的聚合根上的操作是否应该引发子域事件?
- laravel - Carousel 不起作用 bootstrap 5. 有人可以帮助我吗?
- python - 如何在一个单词被翻译后让我的 Python 莫尔斯电码解码器分开?
- python - 我在尝试安装最新版本的 sktime 时遇到错误
- rabbitmq - MassTransit rabbitMq - 为什么我的所有消息都被跳过
- security - 针对 CSRF 的 SameSite 标志
- python - 如何在tensorflow中选择一个input_shape?
- oracle - Oracle - 如何并行执行此脚本
- c# - 如何重写实体框架表达式树的一部分以重用服务器端?(SQL)