如何将其他两个构成每种组合的表的主键插入表中?

时间:2018-08-09 15:10:04

标签: sql sql-server

我使用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

我将不胜感激。

1 个答案:

答案 0 :(得分:6)

您需要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;