从现有表中填充多个到多个表

时间:2012-12-04 23:57:19

标签: sql database many-to-many

我有两个已填充数据的现有表

表A --tableA_id --contentA

表B --tableB_id --contentB

现在,我想创建一个多对多关系表

表A_B --tableA_id --tableB_id

问题是如何使用表A和表B中的现有数据编写一个sql脚本(我是sql的新手)来填充表A_B。非常感谢,

标记

1 个答案:

答案 0 :(得分:5)

如果要填充表格A_B,则必须执行此操作:

INSERT INTO A_B (tableA_id, tableB_id)
SELECT A.ID, B.ID FROM A CROSS JOIN B

CROSS JOIN将表A中的每一行与表B中的每一行相关联。

如果要将表A中的某些行与表B中的某些行相关联,则需要更具体,并执行以下操作:

INSERT INTO A_B (tableA_id, tableB_id)
SELECT A.ID, B.ID FROM A INNER JOIN B
ON A.some_field = B.some_other_field