SQL 将数据从 2 table 插入到新的 table

SQL Insert data from 2 table to new table

我想将 2 table 组合成 1 table 如下例

表 1

    100
    200
    300

表 2

    A     B     C
    D     E     F
    G     H     I

输出表

   100   A     B     C
   100   D     E     F
   100   G     H     I
   200   A     B     C
   200   D     E     F
   200   G     H     I
   300   A     B     C
   300   D     E     F
   300   G     H     I

谢谢。

使用 Cross Join 将创建两个表的 Cartesian product

SELECT a.*,b.*
FROM   table1 a
       CROSS JOIN table2 b

或使用Cross Apply

SELECT a.*,b.*
FROM   table1 a
       CROSS Apply table2 b

如果您已经有了新的 table 那么:

insert into new_table (field1,field2,field3,field4)
select 
     a.field1
     ,b.field2
     ,b.field3
     ,b.field4
from a
cross join b

如果您没有 table:

select 
    a.field1
    ,b.field2
    ,b.field3
    ,b.field4
into new_table
from a
cross join b