如何连接两个表中的数据并将结果插入到新表中?
Posted
技术标签:
【中文标题】如何连接两个表中的数据并将结果插入到新表中?【英文标题】:How can I join data from two tables and insert the result into a new table? 【发布时间】:2021-01-01 09:38:50 【问题描述】:我的产品有一张桌子,我的密钥是Pid
。
每个产品可以有几种模式,在TB_Types
表中注册。
did
是标识列(键),pid
是产品表的外键:
did | pid | name |
---|---|---|
1 | 1 | type1 |
2 | 1 | type2 |
3 | 2 | type3 |
4 | 2 | type4 |
现在我们有一个表,其中每个产品可以有不同的编号表名称:TB_Count
如下表所示:
cid
是标识列(键),pid
是产品表的外键
cid | pid | count |
---|---|---|
1 | 1 | 25 |
2 | 1 | 50 |
3 | 1 | 100 |
6 | 2 | 1000 |
7 | 2 | 5000 |
8 | 2 | 10000 |
最初,客户希望每种产品具有不同的类型和编号,但现在计数表必须更改如下,并且每种产品的计数必须针对每种类型。
我按原样创建了一个表格。
新表名:tb_newcount
id
是标识列(键),did
是 TB_Types
表的外键。
id | did | count |
---|---|---|
1 | 1 | 25 |
2 | 1 | 50 |
3 | 1 | 100 |
4 | 2 | 25 |
5 | 2 | 50 |
6 | 2 | 100 |
7 | 3 | 5000 |
8 | 3 | 10000 |
9 | 3 | 15000 |
10 | 4 | 5000 |
11 | 4 | 10000 |
12 | 4 | 15000 |
如果我能按照说的把信息移到新表中,问题就迎刃而解了。
我希望我已经说出了我的意思。
注:产品数量接近5000种,种类数2000种,计数约2000条记录。
谢谢
【问题讨论】:
【参考方案1】:你需要INNER JOIN
如下:
INSERT INTO tb_newcount (did, count)
select did, count
from TB_Types t join TB_Count c on c.pid = t.pid
【讨论】:
以上是关于如何连接两个表中的数据并将结果插入到新表中?的主要内容,如果未能解决你的问题,请参考以下文章
如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中