我正在使用SQL server。我需要在表2中创建一个列(ObjectName),并将表1中的itemname值添加到表2中,其中id、teamid、employeeid和day都相等。这是我的代码,但是在执行之后,Table2中的ObjectName没有变化。我有一些示例表来显示Table1、Table2和我想要的NewTable。表1中的itemname为数据类型nvarchar(50).
ALTER TABLE Table2 ADD ObjectName nvarchar(50) Null;
UPDATE Table2
SET Table2.ObjectName =
(
SELECT itemaname
FROM Table1
WHERE Table2.Id = Table1.id and Table2.TeamId = Table1.teamid and Table2.EmployeeId = Table1.employeeid and Table2.Day = Table1.day
);
Table1
<表类>id itemname teamid employeeid 天 tbody><<tr>67 杯 1 21 1 69 帽子 2 45 1 表类>
使用内部连接
UPDATE Table2
SET Table2.ObjectName = table1.itemname
FROM Table2
INNER JOIN Table1
ON Table2.Id = Table1.id
and Table2.TeamId = Table1.teamid
and Table2.EmployeeId = Table1.employeeid
and Table2.Day = Table1.day