如何合并来自两个 table 的数据并将结果插入到新的 table 中?
How can I join data from two tables and insert the result into a new table?
我的产品有一个 table,我的密钥是 Pid
。
每个产品可以有几种类型的模式,这些模式在 table TB_Types
中注册。
did
是标识列(键),pid
是产品的外键 table:
did
pid
name
1
1
type1
2
1
type2
3
2
type3
4
2
type4
现在我们有一个 table,其中每个产品可以有不同的编号 table 名称:TB_Count
喜欢下面的table:
cid
是标识列(键),pid
是产品的外键 table
cid
pid
count
1
1
25
2
1
50
3
1
100
6
2
1000
7
2
5000
8
2
10000
最初,客户希望每个产品都有不同的类型和数量,但现在计数 table 必须更改如下,并且每个产品的计数必须针对每个类型。
我创建了一个 table 应该的样子。
新table名称:tb_newcount
id
是标识列(键),did
是TB_Types
的外键table。
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
如果我能把资料移到新的table,问题就解决了。
我希望我说的是我的意思。
注:产品数量接近5000种,类型数量2000种,计数数量约2000条记录。
谢谢
您需要INNER JOIN
如下:
INSERT INTO tb_newcount (did, count)
select did, count
from TB_Types t join TB_Count c on c.pid = t.pid
我的产品有一个 table,我的密钥是 Pid
。
每个产品可以有几种类型的模式,这些模式在 table TB_Types
中注册。
did
是标识列(键),pid
是产品的外键 table:
did | pid | name |
---|---|---|
1 | 1 | type1 |
2 | 1 | type2 |
3 | 2 | type3 |
4 | 2 | type4 |
现在我们有一个 table,其中每个产品可以有不同的编号 table 名称:TB_Count
喜欢下面的table:
cid
是标识列(键),pid
是产品的外键 table
cid | pid | count |
---|---|---|
1 | 1 | 25 |
2 | 1 | 50 |
3 | 1 | 100 |
6 | 2 | 1000 |
7 | 2 | 5000 |
8 | 2 | 10000 |
最初,客户希望每个产品都有不同的类型和数量,但现在计数 table 必须更改如下,并且每个产品的计数必须针对每个类型。
我创建了一个 table 应该的样子。
新table名称:tb_newcount
id
是标识列(键),did
是TB_Types
的外键table。
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 |
如果我能把资料移到新的table,问题就解决了。
我希望我说的是我的意思。
注:产品数量接近5000种,类型数量2000种,计数数量约2000条记录。
谢谢
您需要INNER JOIN
如下:
INSERT INTO tb_newcount (did, count)
select did, count
from TB_Types t join TB_Count c on c.pid = t.pid