如何根据条件将数据从一个表复制到另一个表

时间:2018-05-08 06:01:51

标签: sql-server sql-server-2012

我是新SQL,我想根据某些条件将某些行从一个表复制到另一个表。目前,我正在做什么我在临时表中插入数据并循环该表并将所需字段分配给变量,然后将这些行插入另一个表。但它看起来含糊不清。有没有有效的方法来做到这一点?

3 个答案:

答案 0 :(得分:0)

更新表的更有效方法是加入如下表格。

UPDATE
     Table1
SET
     Table1.col1 = Table2.col1,
     Table1.col2 = Table2.col2
FROM Table1
    INNER JOIN Table2 ON Table1.id = Table2.id
WHERE
    Table2.id = 1

答案 1 :(得分:0)

如果你想在其他表上创建新记录,那么你可以像这样写

insert into employee1 (id, [name])
select id, [name] from employee2 where id >10

答案 2 :(得分:0)

这里有一个例子:

创建table1

CREATE TABLE [dbo].[table1](
    [id] [int] NOT NULL,
    [package_name] [varchar](50) NULL,
    [task_name] [varchar](50) NULL)

创建table2

CREATE TABLE [dbo].[table2](
    [id] [int] NOT NULL,
    [package_name] [varchar](50) NULL,
    [task_name] [varchar](50) NULL)

在table1中插入

INSERT INTO table1 
VALUES ( 1, 'abc', 'def')

这里我们将从table1中选择并插入table2

INSERT INTO [table2] SELECT * FROM [table1]