如何从三个表中插入和连接?
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】:
我会创建一个视图,将产品和类型连接为一个公共对象,以从中选择始终是产品的“完整”列集。您可能最终会在各种地方使用它,而不必一遍又一遍地加入这些表格。
然后我会做你已经做过的事情,只是加入订单和视图以获得你正在寻找的东西。
【讨论】:
以上是关于如何从三个表中插入和连接?的主要内容,如果未能解决你的问题,请参考以下文章
如何从一个表列中获取值,将它们与字符串连接并将它们插入另一个表中?
如何使 Kafka 接收器连接器在接收器启动时将数据从主题插入到表中
如何使用DataGridView从数据库表中插入,更新和删除数据?