2015-03-30 38 views
0

我新的SQL,我想一列从另一个表与某些条件添加到我的餐桌插入一个字段添加到现有表的条件

我有了StaffNumberEmployees2013表,我具有Employees表,其具有StaffNumberTitle列。

我想要创建一个名为Title的新列,在Employees2013中,并从Employees中选择标题Employees2013.StaffNumber = Employees.StaffNumber。

我试过,但没有奏效:

insert into Employees2013(Title) 
    select e.Title 
    from LandornetSQL.dbo.Employees e, Employees2013 f 
    where e.StaffNumber = f.StaffNumber 

我得到这个错误:

Cannot insert the value NULL into column 'StaffNumber', table 'xDevProjects.NA\OnderO.Employees2013'; column does not allow nulls. INSERT fails.

任何人有任何想法?

+0

呀,不要尝试插入一个'NULL'列上并不能让他们。 – Lamak 2015-03-30 20:22:32

回答

1

插入只插入记录,如果你想要一个新的列,你必须将该列添加到表中。

ALTER TABLE Employees2013 ADD Title VARCHAR(100) 

然后你就可以更新表,设置标题列

UPDATE Employees2013 SET Title = Employees.Title 
FROM Employees 
WHERE Employees.StaffNumber = Employees2013.StaffNumber; 
+0

SQLFiddle:http://sqlfiddle.com/#!6/06402/1 – 2015-03-30 21:01:07

+0

非常感谢你,我想我使用了不正确的语法! – ozimax06 2015-03-30 21:15:54

相关问题