我在从一个表更新另一个表时遇到问题。我希望SQL从Employees
中的数据更新CompanyEmployees
中的行,其中两个EmployeeNum
字段相同。如果EmployeeNum
内的CompanyEmployees
与Employees
中的Employees
不匹配,那么我需要在SELECT Employees.PhoneNum, Employees.Data,
CompanyEmployees.PhoneNum, CompanyEmployees.SystemData
FROM CompanyEmployees
INNER JOIN Employees
ON CompanyEmployees.Employees=Techs.EmployeeNum
中创建新行
到目前为止,我已经尝试了两个表的连接。
Employees
我在两个表中都获得了正确的列数据,但我没有更新CompanyEmployees
。我需要在某个地方进行INSERT或UPDATE吗?
如何将Employees
中的整行数据插入CompanyEmployees.EmployeeNum
Employees
中CompanyEmployees
不存在的Employees
?
我需要这样做,因为CompanyEmployees
只是一个电话簿,Employees
有电话号码和更多信息。但是{{1}}内部有新员工不在{{1}}内。
答案 0 :(得分:0)
记住RDBMS的R是关系型的。它们是为了建立关系而建立的 要使用CompanyEmployees表更新Employees表,您可以使用以下内容:
INSERT INTO Employees (columns) VALUES (SELECT columns FROM CompanyEmployees) ON DUPLICATE KEY UPDATE
您可能甚至不需要'员工'因为它是' CompanyEmployees'的超集。我建议合并这两个表,或者至少将数据移动到一个表中。