从现有的表中填充多对多关系表

3

我有两个已经有数据的表格

表A --表A_id --内容A

表B --表B_id --内容B

现在,我想要创建一个多对多的关联表格

表A_B --表A_id --表B_id

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

马克

1个回答

6
如果您想填充表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

Ace - 在只有三行 SQL 语句中,帮我省去了800个插入语句或一些循环逻辑。 - Greg Trevellick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接