我有两张桌子:
表1
id|val1|val2
1 | 100|200
2 | 200|400
表2
id|val1|val2
1 | 100|250
3 | 500|400
table3应该是,
id|val1|val2
1 | 100|250
2 | 200|400
3 | 500|400
这两个表有一些共同的元素。
我想编写一个导致以下条件的查询:
表3 =表2 +(表1至表2)
应从 Table1 中删除常用元素,并应删除其余数据。
答案 0 :(得分:0)
使用以下内容:
select ifnull(id_2, id_1) id,
ifnull(val1_2, val1_1) val1,
ifnull(val2_2, val2_1) val2
from (
select t1.id id_1, t1.val1 val1_1, t1.val2 val2_1,
t2.id id_2, t2.val1 val1_2, t2.val2 val2_2
from table1 t1 left join table2 t2 on t1.id = t2.id
union
select * from table1 t1 right join table2 t2 on t1.id = t2.id
) x