将数据复制到同一个表中或从同一个表复制数据,并将一列中复制数据的值更改为指定值

时间:2012-02-10 08:47:40

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

我想在SQL Server 2008数据库的单个表中复制一些数据,并将其复制到同一个表中,并将复制数据的一列中的值更改为单个指定的数字。下面是一个示例,在下表中称为Metric,数据为:

Key  Name    MetricValue
112    Joe      34
112    Fred     38
112    Frank    12
112    John     56
112    David    87
112    Sue      43
234    Alli     34
234    Susan    38
234    Anne     12
234    Franki   56

我想将所有带有112键的条目复制到Metric并将所有复制的行分配给387的Key,这会将表Metric中的值赋予:

Key  Name    MetricValue
112    Joe      34
112    Fred     38
112    Frank    12
112    John     56
112    David    87
112    Sue      43
234    Alli     34
234    Susan    38
234    Anne     12
234    Franki   56
387    Joe      34
387    Fred     38
387    Frank    12
387    John     56
387    David    87
387    Sue      43 

请注意,此表还有一个我未在上面显示的主键。

如何在与SQL Server 2008兼容的SQL中执行此操作。

感谢您的帮助,

1 个答案:

答案 0 :(得分:31)

在这里试试..

INSERT INTO Metric(Key,Name,MetricValue)
SELECT 387,Name,MetricValue
FROM Metric
WHERE Key = 112