我有两个mysql表:
表1:产品
productId productName
1 One
2 Two
表2:分支
branchId branchName
1 Branch One
2 Branch Two
3 Branch Three
这两个表需要合并到第三个表
表3:产品开放
openId productId branchId
id是自动增量ID。前两个表具有不相关的数据。我的意思是,表1中id = 1的行与表2中id = 1的行无关。所以,我基本上想写一个mysql脚本,它会在表3中插入值,最后看起来像这样:
表3:产品开放
openId productId branchId
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 2 3
旧表和新表中的ID不必匹配。只需表中的数据需要在新表中。我是mysql的新手,如果有人能帮助我,那就太棒了!
那是它。
答案 0 :(得分:1)
我希望这个查询有效:
INSERT INTO productopening(SELECT null, product.productId, branch.branchId FROM
product CROSS JOIN branch ORDER BY product.productId);
答案 1 :(得分:0)
您可以使用交叉连接并插入选择
insert into productopening
select product.id, branch.id
from product
crossjoin branch
如果您需要有序结果(插入中的顺序没有意义),您必须在select
中明确order by子句select id, productId , branchId
from productopening
order by productId , branchId
或者如果您需要订购productopening id的创建,那么您可以使用并命令选择
insert into productopening
select product.id, branch.id
from product
crossjoin branch
order by product.id, branch.id