我目前有一个表,其中第1列是其余列的唯一标识符,我需要在表中为每个唯一标识符插入一个新值。示例如下:
Column 1 Column 2 Column 3 10 Address True 10 City False 10 State True 20 Address True 20 City True 20 State True
我需要根据第1列中的每个唯一标识符插入一个新行,如下所示:
Column 1 Column 2 Column 3 10 Address True 10 City False 10 State True *10 NEW NEW* 20 Address True 20 City True 20 State True *20 NEW NEW*
出于某种原因,快速查找和插入的SQL脚本只是在星期一早上逃脱了。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
insert into table-name
(Column1, Column2, Column3)
select Column1, 'NEW', 'NEW*' from table-name group by Column1
您也可以在子选择中使用distinct,但我已经开始切换到group by,如果我想将查询更改为count或者其他内容,则可以更灵活。
答案 1 :(得分:1)
您可以尝试Marlin Pierce的建议:
INSERT INTO [table-name]
([Column 1], [Column 2], [Column 3])
SELECT [Column 1], 'NEW', 'NEW*' from [table-name] where [Column 2] = 'Address' group by [Column 1];
这会为每个现有行创建一个新行。
请参阅SqlFiddle了解可执行样本。