SQL将数据从2表插入到新表中

时间:2015-01-17 15:01:33

标签: sql sql-server sql-server-2008

我想将2个表组合成1个表,如下所示

表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

谢谢。

2 个答案:

答案 0 :(得分:3)

如果您已经有了新表:

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

如果您没有表格:

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

答案 1 :(得分:2)

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