两个不同的mysql表到第三个表

时间:2017-04-06 06:07:07

标签: php mysql

我有两个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的新手,如果有人能帮助我,那就太棒了!

那是它。

2 个答案:

答案 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