首页 > 解决方案 > 如何从其他两个表中插入表主键进行每个组合?

问题描述

我使用 MS SQL Server,我有 3 个表,A、B 和 C。A 和 B 都有名为 Id 的列。我想将这些值插入到 C 中,使每个组合,所以假设表 A 有数据:

Id
1
2
3

表 B 有数据:

Id
4
5

我正在尝试实现表 C 有数据:

Id | A_Id| B_Id
1  |1    | 4
2  |1    | 5
3  |2    | 4
4  |2    | 5
5  |3    | 4
6  |3    | 5

我将不胜感激任何帮助。

标签: sqlsql-server

解决方案


你需要cross join

select *
from tablea a cross join
     tableb b
order by a.id;

因此,您可以使用insert语句:

insert into tablec (A_Id, B_Id)
     select *
     from tablea a cross join
          tableb b
     order by a.id;

推荐阅读