基于使用已存在的值的Sql插入

时间:2013-02-04 12:35:46

标签: sql sql-server-2008

表A(ID(身份),col2,col3,col4)

我想在表A中为每个ID添加一个新条目,给出col4 ='(为A类中的每个人插入一条新记录,将它们放在B类中)。正在出现的新纪录 insert必须在Col2中具有与其相同的值才能添加,并且不能对各个条目进行硬编码。 示例:

1)1,'Michael', 'Lamboux', 'class A'(initial record)
2)2,'Sarah', 'Johanson', 'class A' (initial record)
3)...
4)...
5)...
6)1024,'Michael','Lamboux','class B'(new value)
7)1025, 'Sarah', Johanson', 'class B'(new value)

我之前因为从未在SQL中做过这件事而感到困惑。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:0)

假设您的第一列是标识字段:

insert into tableA (col2, col3, col4) select col2, col3, 'class B' from tableA where col4= 'class A'

答案 1 :(得分:0)

INSERT INTO [Table A] (col2, col3, col4)
SELECT col2, col3, 'class B' FROM [Table A]
WHERE col4='class A';

如果只是为每条记录添加一个新行

修改

来自您的评论

INSERT INTO tblEWF2  (E_ID,Media_ID, Min_Duration, Norm_Duration, CustDuration, Sec_ID, Task_ID, Schedule_Date, Active)
SELECT E_ID, 4845, Min_Duration, 0, CustDuration, Sec_ID, Task_ID, Schedule_Date, 1
FROM tblEWF2 

编辑2 从你上次的评论;)

INSERT INTO EWF2 (E_ID,Media_ID, Min_Duration, Norm_Duration, CustDuration, Sec_ID, Task_ID, Schedule_Date, Active)
SELECT E_ID,'4845',NULL, '0',NULL,'1','73',NULL,'1' 
FROM EWF2
GROUP BY E_ID