SQL:为每个不同的值添加新行

时间:2017-03-20 17:53:15

标签: sql-server

我有以下表结构:

col1    col2    col3
id1   someval   time1
id1   someval   time1
id2   someval   time2
id2   someval   time2
id3   someval   time3
id3   someval   time3

我正在寻找一种方法为每个不同的ID插入一个新行,它只更改某些列中的值(本例中为第2列),但每隔一列保持相同。我只需手动插入就可以做到这一点,这不会花费很长时间,但我有以下问题:

1)我有一个带有时间值的列,这使得它特别棘手,因为我将使用excel给我“插入”查询并从excel复制值 - > sql和sql - > excel似乎搞乱了时间价值

2)我的实际桌子要大得多(超过500k行),我需要修改大约1000个......如果我有办法跟踪我正在改变的东西,这将是很棒的。

最终结果应为:

col1    col2    col3
id1   someval   time1
id1   someval   time1
id1   NEWVAL    time1
id2   someval   time2
id2   someval   time2
id2   NEWVAL    time2
id3   someval   time3
id3   someval   time3
id3   NEWVAL    time3

这里的任何帮助都会很棒

1 个答案:

答案 0 :(得分:2)

这样的事情可能是:

insert into your_table (col1, col2, col3)
select distinct col1, 'newval', col3
from your_table