如何从三个表中插入和连接?

Posted

技术标签:

【中文标题】如何从三个表中插入和连接?【英文标题】:How can I insert and join from three tables? 【发布时间】:2019-05-27 16:53:03 【问题描述】:

我必须合并两个表并将表中的值替换为第三列中的值。

表格看起来像这样 顺序

order   date    product_type    quantity    cost 
1      1/1/19   tops             2          49.99
2      1/2/19   bottom           3          190
3      1/2/19   jewelry          1          30

product             
order   date    product type    product name    
1       1/1/19  tops            sophia tank     
2       1/2/19  bottom          boyfriend jeans 
3       1/2/19  jewelry         alex necklace   

 type               
ascin_product      ascin            
tops               0081112          
bottom             121412           
jewelry            12412415 

输出应该是这样的

order   date    quantity    cost    product name    ascin
1      1/1/19     2        49.99    sophia tank     0001112
2      1/2/19     3        190      boyfriend jeans 121412
3      1/2/19     1        30       alex necklace   12412415

[在此处输入图片描述][2]

我可以轻松加入订单和产品,只是不知道如何加入基于 ascin 产品的第三张表,然后在整个表中用 ascin 替换产品类型

select order, date, product_type,product_name from product
inner join on order
product.product_type=order.product type
inner join on type
product.product_type=order.product type=type=ascin_product

我不知道如何用 ascin 替换表中的产品类型

【问题讨论】:

到目前为止你得到了什么结果? 我得到了 ascin 产品和其他列,但不是 ascin 试试select order, date, product_type,product_name, ascin 这是有道理的,但我想从决赛桌中删除 product_name。 【参考方案1】:

从Order开始,然后加入其他表

SELECT o.order, o.date, o.quantity, o.cost, p.product_name, t.ascin
FROM order o 
JOIN product p ON p.order = o.order
JOIN type t ON t.ascin_product = o.product_type

【讨论】:

哦,这很有道理! 我还要删除订单ID @purple drop 是什么意思,订单 ID 是否与order 列相同?【参考方案2】:

我会创建一个视图,将产品和类型连接为一个公共对象,以从中选择始终是产品的“完整”列集。您可能最终会在各种地方使用它,而不必一遍又一遍地加入这些表格。

然后我会做你已经做过的事情,只是加入订单和视图以获得你正在寻找的东西。

【讨论】:

以上是关于如何从三个表中插入和连接?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 3 个不同的表中插入内连接

如何从一个表列中获取值,将它们与字符串连接并将它们插入另一个表中?

如何使 Kafka 接收器连接器在接收器启动时将数据从主题插入到表中

如何使用DataGridView从数据库表中插入,更新和删除数据?

Hibernate:如何在注释中将三个 3 表连接到一个连接表中?

如何从具有聚合函数的连接表中选择属性?