将FIELD TO插入带有条件的现有表

时间:2015-03-30 20:17:44

标签: sql-server

我是SQL的新手,我试图从具有特定条件的另一个表中添加一个列到我的表

我的Employees2013表格中有StaffNumber列,而且我的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

我收到此错误:

  

无法将值NULL插入“StaffNumber”列,表'xDevProjects.NA \ OnderO.Employees2013';列不允许空值。 INSERT失败。

任何人都有任何想法?

1 个答案:

答案 0 :(得分:1)

仅插入插入记录,如果需要新列,则必须将该列添加到表中。

ALTER TABLE Employees2013 ADD Title VARCHAR(100)

然后您可以更新表格,设置标题栏

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