将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值
Posted
技术标签:
【中文标题】将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值【英文标题】:Copy data to and from the same table and change the value of copied data in one column to a specified value 【发布时间】:2012-02-10 08:47:40 【问题描述】:我想在 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,这将表 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】:你试试看..
INSERT INTO Metric(Key,Name,MetricValue)
SELECT 387,Name,MetricValue
FROM Metric
WHERE Key = 112
【讨论】:
太棒了,感谢您的帮助。我知道这将是微不足道的。我很快就会试试看。 温馨提示:先运行选择部分(语法很容易做到这一点,使查询更好!)否则,可能会出现问题! @up 并使用一些limit 5
如果您有很多条目,则不会杀死您的数据库 :)以上是关于将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值的主要内容,如果未能解决你的问题,请参考以下文章
在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?