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

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 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

mysql如何复制数据到同一张表?

Mysql如何将数据从一个字段复制到同一张表中的另一个字段

如何在不复制列标签的情况下将多个数据框写入同一张表

将一些表记录复制到同一张表中会产生一些问题