SQL INSERT使用WHILE LOOP和SELECT

Hun*_*ter 0 sql sql-server select insert while-loop

需要向数据库添加一堆重复记录,并且不希望手动完成所有操作.

需要手动添加初始记录,但是然后想创建一个我可以运行的查询,基本上模拟其余的记录,然后手动更改一个不同的字段.

问题是,在我输入之前,我不确切知道初始记录是什么.

例如

 FieldOne | FieldTwo   | FieldThree
----------+------------+--------------
 Text One | Text Two A | int Three A
 Text One | Text Two B | int Three A
 Text One | Text Two C | int Three A
 ...
Run Code Online (Sandbox Code Playgroud)

这一切都必须手工完成.然后我需要创建:

 FieldOne | FieldTwo   | FieldThree
----------+------------+--------------
 Text One | Text Two A | int Three B
 Text One | Text Two B | int Three B
 Text One | Text Two C | int Three B
 ...
Run Code Online (Sandbox Code Playgroud)

...重复第二场中的所有不同值.

希望有道理吗?

基本上我想做的是:

WHILE (SELECT ALL DISTINCT VALUES FIELDTWO)
BEGIN
INSERT INTO TABLE VALUES ('Same all the time', Value From the FieldTwo Select, 'Same all the time')
END
Run Code Online (Sandbox Code Playgroud)

这可以在SQL Server中完成,你能给我一个确切的T-SQL语句吗?

03U*_*Usr 7

你应该能够做到这一点:

INSERT INTO TABLE1 (fieldtwo, fieldone, fieldthree)
SELECT DISTINCT fieldtwo, 'Same all the time',  'Same all the time' From TABLE2
Run Code Online (Sandbox Code Playgroud)