我想用多个表中的不同列,组成一个新表,并添加到另一个表中,如何做呢!

解决方案 »

  1.   

    insert into 新表(字段1,字段2...)
    select A表.字段1,B表.字段2... 
    from A表,B表... where ...
      

  2.   

    select ta.*,tb.*,tc.* 
    into newtable
    from
    table1 ta,table2 tb,table3 tc
      

  3.   

    insert into 目标表(...) select a.col1,b.col2,c.col3 from a,b,c where a.xx=b.xx and b.yy=c.yy
      

  4.   

    --SQL 2005 
    WITH 表CTE(字段1, 字段2, 字段3, 字段4)
    AS
    (   SELECT 字段1, 字段2, 字段3, 字段4
      FROM 表
      WHERE ....
    )
    SELECT * INTO 新表 from 表CTE
      

  5.   

    ------------
    insert into nTb select a.xx,b.yy,c.zz from a,b,c
      

  6.   

    --SQL 2005 
    WITH 表CTE(字段1, 字段2, 字段3, 字段4)
    AS
    (   SELECT 字段1, 字段2, 字段3, 字段4
      FROM 表
      WHERE ....
    )
    SELECT * INTO 新表 from 表CTE
    厉害!
      

  7.   

    楼主说想选多个表的列,其实以我的理解楼主不是平白选几列,而是这几个表有联系。
    联系最多的一般都是外键关联,如果楼主不懂也不打紧,就记着两个相同的属性进行连接就可以了。具体语法如下:
    insert into 合成表名 select 表1.列1,表1.列3,表2.列4 from 表1,表2 where 表1.列1=表2.列1
    在此处
    where 表1.列1=表2.列1
    中,表1的列1和表2的列1相关联。