我使用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
我将不胜感激。
答案 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;