繁体   English   中英

MySQL根据ID从一个表选择到另一个表

[英]MySQL Selecting from One table into Another Based on ID

我在使用MySQL时遇到问题

我有两个表,我想将表2中的Val1存储到表1中的Val2中

表格1

ID-----Val1-----Val2
1------A--------NULL
2------B--------NULL
3------C--------NULL
4------D--------NULL
5------E--------NULL

表2

ID-----Val1
1------aaa
2------bbb
3------ccc
4------ddd
5------eee

这样,Table1现在看起来像

表格1

ID-----Val1-----Val2
1------A--------aaa
2------B--------bbb
3------C--------ccc
4------D--------ddd
5------E--------eee

现在,我有

INSERT INTO Table1(Val2) SELECT Val1 FROM Table2 WHERE Table1.ID=Table2.ID;

任何帮助表示赞赏!

您可以使用子查询( SQLize ):

UPDATE Table1
SET Val2 = ( SELECT Val1 FROM Table2 WHERE Table1.ID = Table2.ID )
WHERE Val2 IS NULL

或多表更新( SQLize ):

UPDATE Table1, Table2
SET Table1.Val2 = Table2.Val1
WHERE Table1.ID = Table2.ID AND Table1.Val2 IS NULL

或与显式JOINSQLize )相同:

UPDATE Table1 JOIN Table2 ON Table1.ID = Table2.ID
SET Table1.Val2 = Table2.Val1
WHERE Table1.Val2 IS NULL

(我假设您只想更新Table1Val2为NULL的行。如果您想覆盖Table2 ID匹配的所有行的值,只需删除WHERE Table1.Val2 IS NULL条件。)

update table1 
inner join table2 on table1.id = table2.id
set table1.val2 = table2.val1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM