SQL Server将表附加到现有表

时间:2018-02-03 13:09:43

标签: sql-server database sql-update union alter-table

我需要将一行中的行追加到现有表中。我在想类似下面的内容,但这会产生错误

graph.facebook.com/v2.12/5568669414690512/comments?message=Hello

有没有办法将select * into table1 from (select * from table1 union select * from table2) as tmp ALTER TABLEUPDATE一起使用?

3 个答案:

答案 0 :(得分:3)

我将假设以下情况,

1-您需要在表1中插入表2中的所有数据 使用这个

 INSERT INTO TABLE1 (Col1, Col2)
 SELECT Col1, COl2  FROM  Table2

2-你有2个表,表1,需要在表3中插入

INSERT INTO TABLE3 (Col1, Col2)
SELECT  Col1, COl2  FROM Table1
Union all --to remove duplication in data 
SELECT  Col1, COl2  FROM Table2

答案 1 :(得分:1)

直接从Table2直接插入Table1

INSERT INTO TABLE1 (Col1, Col2)
    SELECT
        Col1, COl2
    FROM 
        Table2

答案 2 :(得分:0)

使用此查询:

   -- merge table1 and table2 data in temp table
    SELECT * INTO #Temp
      FROM 
          (
            SELECT * 
              FROM table1
             UNION
            SELECT *  
              FROM table2
          )

    -- empty table1 and delete existing data
    TRUNCATE TABLE table1

    -- insert all merged data in table 1
    INSERT INTO table1 
                SELECT *
                  FROM #Temp
  

您可以使用UNION ALL代替UNION

删除重复行