2012-02-10 31 views
15

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

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公制密钥副本,并指定所有复制的行387密钥,这给表中的值公制为:

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中与SQL Server 2008的

感谢您的帮助兼容,

托尼

回答

25

在这里,你试试..

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

太棒了,谢谢您的帮助。我知道这将是微不足道的。我会尽快尝试。 – flyhai 2012-02-10 08:52:51

+0

温和的提醒:首先运行选择部分(并且语法轻松允许此操作,使得查询更好!)否则,问题可能随之而来! – JosephDoggie 2016-09-02 13:05:34

+0

@up并使用一些限制5'不杀你的数据库,如果你有很多条目:) – 2017-06-21 11:06:17

相关问题