我有两个表,有些条目相同,例如 表 A:
ID value type
1 1 2
2 3 2
3 3 2
表 B:
ID value type
2 3 1
3 3 1
4 1 1
我想合并它们,使结果表看起来像
表 C:
ID value type
2 3 2
3 3 2
4 1 1
即去掉A表中不存在的行,显示A表中A表类型重复的行,同时显示A表中不存在的行。
到目前为止,我已经完成了 UNION 命令来删除重复项
select * from table A union select * from table B
但是如何从表A中获取类型呢?可以这样做吗,还是我必须单独更新它们。
最佳答案
你可以用 LEFT JOIN
来完成:
SELECT b.id,b.value,
COALESCE(a.type,b.type) as type
FROM TableB b
LEFT JOIN TableA a
ON(a.id = b.id)
关于mysql - 根据主键合并两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468978/