我的库里有15个表,table1,table2,......table15,每个表的字段都是一样的,只是内容不同,我怎样通过SQL语句将其合并到一个表单table中呢。
table1
code     name     id         zj
000001    zj      111110     100.00
000002    mw      111111     200.00table2
code     name     id         zj
000234   wxg      222222     690.00
222444   zlg      234780     3400.00................table15
code     name     id         zj
111234   ert      345689     450.00
123234   uie      234672     340.00希望得到下面的结果
table
code     name     id         zj
000001    zj      111110     100.00
000002    mw      111111     200.00
000234   wxg      222222     690.00
222444   zlg      234780     3400.00
....................................
111234   ert      345689     450.00
123234   uie      234672     340.00谢谢。

解决方案 »

  1.   

    SELECT * FROM tb1
    UNION ALL
    SELECT * FROM tb2
    UNION ALL
    SELECT * FROM tb3
    ...
    ...
    UNION ALL
    SELECT * FROM tb15
      

  2.   

    INSERT tb
        SELECT * FROM tb1
        UNION ALL
        SELECT * FROM tb2
        UNION ALL
        SELECT * FROM tb3
        ...
        ...
        UNION ALL
        SELECT * FROM tb15
      

  3.   

    select * into [Table] from table1
    union all 
    select * from table2
    union all 
    select * from table3
    ....
      

  4.   

    EXEC sp_MSforeachtable
          @command=N'
              INSERT tb
                  SELECT *
                  FROM [?]
          '
          @whereand=N' and o.name LIKE N''tb%'''
      

  5.   

    EXEC sp_MSforeachtable
          @command=N'
              IF OBJECT_ID(N''tb'') IS NULL
                  SELECT * INTO tb FROM [?]
              ELSE
                  INSERT tb SELECT * FROM [?]
          '
          @whereand=N' and o.name LIKE N''tb%'''
      

  6.   

    去除重复数据用union提取所有数据(不排除重复数据)用union all例句上面都有..
      

  7.   

    select * into [Table] from table1;
    select * into [Table] from table2;
    ......
      

  8.   


    select * into [Table] from t1
    union all 
    select * from t2
    union all 
    select * from t3
    ...
    ...
    union all
    select * from t15
      

  9.   

    如果不管记录是否重复INSERT tb
        SELECT * FROM tb1
        UNION ALL
        SELECT * FROM tb2
        UNION ALL
        SELECT * FROM tb3
        ...
        ...
        UNION ALL
        SELECT * FROM tb15重复记录会只留一条INSERT tb
        SELECT * FROM tb1
        UNION
        SELECT * FROM tb2
        UNION
        SELECT * FROM tb3
        ...
        ...
        UNION
        SELECT * FROM tb15
      

  10.   

    如果不管记录是否重复 SQL code
    INSERT tb
        SELECT * FROM tb1
        UNION ALL
        SELECT * FROM tb2
        UNION ALL
        SELECT * FROM tb3
        ...
        ...
        UNION ALL
        SELECT * FROM tb15重复记录会只留一条 SQL code
    INSERT tb
        SELECT * FROM tb1
        UNION
        SELECT * FROM tb2
        UNION
        SELECT * FROM tb3
        ...
        ...
        UNION
        SELECT * FROM tb15
      

  11.   


    insert  into [table]
          select * from [table1]
          union all
          select * from [table2]
          union all
          select * from [table3]
          union all
          select * from [table4]
          union all
          select * from [table5]
          union all
          select * from [table6]
          union all
          select * from [table7]
          union all
          select * from [table8]
          union all
          select * from [table9]
          union all
          select * from [table10]
          union all
          select * from [table11]
          union all
          select * from [table12]
          union all
          select * from [table13]
          union all
          select * from [table14]
          union all
          select * from [table15]    
      

  12.   


    declare @sql nvarchar(max),@i int
    set @sql = 'insert [table] select * from [table1] '
    set @i = 1
    while @i < 15
    begin
    set @i = @i + 1
    set @sql = @sql + ' union all select * from [table'+cast(@i as nvarchar(2))+'] '
    end
    exec(@sql)