如何合并来自两个 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是标识列(键),didTB_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