[英]MySQL: Trying to populate data into one column from another table
Table A has several columns, including FirstName
and LastName
Table B has different columns, including FirstName
, LastName
and EmployeeID
表 A 有几列,包括
FirstName
和LastName
表 B 有不同的列,包括FirstName
、 LastName
和EmployeeID
I added EmployeeID
into Table A. I now want to populate Table A's Employee ID
's from Table B's Employee ID
's, using the first and last name (we currently have no one working with the same name - the design of this table was weird like that)我将
EmployeeID
添加到表 A 中。我现在想从表 B 的Employee ID
中填充表 A 的Employee ID
,使用名字和姓氏(我们目前没有人使用相同的名字 - 这个表的设计是这么奇怪)
I've attempted a few things, but I keep coming back to我尝试了一些事情,但我不断回到
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
But I keep getting a syntax error - MySQL server version for the right syntax to use near A. I don't know how to use this syntax when dealing with Insert
statements, I think, or if this is the right way at all.但是我不断收到语法错误 - MySQL 服务器版本,用于在 A 附近使用正确的语法。我认为,在处理
Insert
语句时,我不知道如何使用这种语法,或者这是否是正确的方法。
It sounds like you already have data in TableA that you want to update.听起来您已经在 TableA 中有要更新的数据。 If that is the case, you need to use an
UPDATE
statement.如果是这种情况,您需要使用
UPDATE
语句。 Here's an example:这是一个例子:
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)
Question: Are first and last name guaranteed to be unique?问题:名字和姓氏是否保证是唯一的?
Also, this needs to be an update.此外,这需要更新。
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.