Скопируйте данные в одну таблицу и из нее и измените значение копируемых данных в одном столбце на указанное значение. - PullRequest
18 голосов
/ 10 февраля 2012

Я хочу скопировать некоторые данные в одну таблицу в базе данных 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.

Спасибо за помощь,

Tony

1 Ответ

31 голосов
/ 10 февраля 2012

Вот попробуй ..

INSERT INTO Metric(Key,Name,MetricValue)
SELECT 387,Name,MetricValue
FROM Metric
WHERE Key = 112
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...