如何解决MySQL:尝试将数据从另一张表填充到一列中
|| 表A有几列,包括FirstName
和LastName
表B具有不同的列,包括FirstName
,LastName
和EmployeeID
我在表A中添加了EmployeeID
。现在,我要使用名字和姓氏从表B \'6'中填充表A \'6'。(目前,没有人使用相同的名字-这张桌子的设计很奇怪)
我尝试了一些事情,但我一直回到
INSERT INTO TableA (EMPLOYEE_ID) A
SELECT B.EMPLOYEE_ID FROM TableB B
WHERE A.First_name = B.First_name
AND A.Last_name = B.Last_name
但是我一直收到语法错误-MysqL服务器版本,要求在A附近使用正确的语法。我认为,在处理Insert
语句时,我不知道如何使用此语法,或者这是否是正确的方法。
解决方法
听起来您在TableA中已经有要更新的数据。在这种情况下,您需要使用“ 10”语句。这是一个例子:
UPDATE TableA A
SET EMPLOYEE_ID =
(SELECT EMPLOYEE_ID
FROM TableB B
WHERE B.First_name = A.First_name
AND B.Last_name = A.Last_name)
WHERE EXISTS
(SELECT EMPLOYEE_ID
FROM TableB B
WHERE B.First_name = A.First_name
AND B.Last_name = A.Last_name)
, 问题:名和姓是否保证唯一?
另外,这需要进行更新。
UPDATE TableA A
SET a.employee_id = (SELECT employee_id FROM TableB WHERE first_name = a.first_name AND last_name = a.last_name)
WHERE EXISTS (SELECT 1 FROM TableB WHERE first_name = a.first_name AND last_name = a.last_name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。