[英]mysql - how to merge two tables based on a column?
我有两个表, table1
和table2
table1
id | val |
a | |
a | |
b | |
b | |
table2
id | val |
a | 2 |
a | 3 |
b | 1 |
b | 0 |
c | 5 |
d | 2 |
d | -2 |
我想基于table2
的值填充table1
的值val
以获得:
table1
id | val |
a | 2 |
a | 3 |
b | 1 |
b | 0 |
这是我在做什么
SELECT *
FROM table1 JOIN table2 ON table1.id = table2.id;
但是我得到的是一张有四列的表,每个列重复两次。
这是对您的查询唯一有意义的解释。 我们可以保留table2
记录,具体取决于它们的id
值是否存在于table1
:
SELECT t2.id, t2.val
FROM table2 t2
INNER JOIN
(
SELECT DISTINCT id
FROM table1
) t1
ON t2.id = t1.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.