sql-server - SQL : add new rows for each distinct value

标签 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

任何帮助都会很棒

最佳答案

可能是这样的:

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

关于sql-server - SQL : add new rows for each distinct value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42910639/

相关文章:

sql-server - CLR 存储过程

sql - 在 SQL Server 中使用 STRING_AGG 获取唯一值

SQL Server : querying hierarchical and referenced data

c# - ExecuteScalar 和 ExecuteNonQuery 冲突

c# - 如何在 LINQ 中加入未知数量的列表

mysql - 相当于 mySQL 中的 SQL Server 函数 SCOPE_IDENTITY()?

sql - 根据另一个字段的字母顺序设置排序顺序字段

sql - 使用当前连接从 sql 存储过程调用 dll 函数

sql-server - 从大型数据集中删除重复项(>100Mio 行)

c# - 什么是 SQL Server CLR 集成生命周期?