1

我目前有一个表,其中第 1 列是其余列的唯一标识符,我需要为每个唯一标识符在表中插入一个新值。示例如下:

第 1 栏 第 2 栏 第 3 栏
10 地址真
10 城市错误
10 状态真
20 地址真
20城真
20 状态真

我需要根据第 1 列中的每个唯一标识符插入一个新行,如下所示:

第 1 栏 第 2 栏 第 3 栏
10 地址真
10 城市错误
10 状态真
*10 新新*
20 地址真
20城真
20 状态真
*20 新 新*

出于某种原因,用于快速查找和插入的 SQL 脚本只是在星期一早上让我忘记了。任何帮助,将不胜感激。

谢谢!

4

2 回答 2

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

于 2013-03-18T20:51:37.417 回答
1
insert into table-name
(Column1, Column2, Column3)
select Column1, 'NEW', 'NEW*' from table-name group by Column1

您也可以在子选择中使用 distinct,但我已经开始切换到 group by,如果我想将查询更改为 count 或其他内容,它会更加灵活。

于 2013-03-18T16:04:06.590 回答