1

我在从另一个表更新一个表时遇到问题。我希望 SQL 从两个字段相同Employees的数据中更新行。此外,如果其中的一个存在与其中的一个不匹配,那么我需要在其中创建一个新行, 到目前为止我已经尝试了两个表的连接。CompanyEmployeesEmployeeNumEmployeeNumCompanyEmployeesEmployeesEmployees

SELECT Employees.PhoneNum, Employees.Data, 
       CompanyEmployees.PhoneNum, CompanyEmployees.SystemData 
FROM CompanyEmployees 
INNER JOIN Employees 
ON CompanyEmployees.Employees=Techs.EmployeeNum  

我在两个表中都得到了正确的列数据,但我没有更新Employees。我需要在某处插入或更新吗?
如何将整行数据从不存在的地方CompanyEmployees插入?EmployeesCompanyEmployees.EmployeeNumEmployees

我需要这样做,因为CompanyEmployees它只是一个电话目录,并且Employees有电话号码和更多信息。但是CompanyEmployees里面有不在里面的新员工Employees

4

1 回答 1

0

请记住,RDBMS 有 R 表示关系。它们是为关系而生的。
要使用 CompanyEmployees 表更新您的员工表,您可以使用如下内容:

INSERT INTO Employees (columns) VALUES (SELECT columns FROM CompanyEmployees) ON DUPLICATE KEY UPDATE

您甚至可能不需要“Employees”,因为它是“CompanyEmployees”的超集。我建议合并这两个表或至少将数据移动到一个表中。

于 2013-02-13T13:45:29.503 回答