比较两个table,从具体的table考虑插入
Compare two tables and consider from specific table to insert
我们如何从一个 table 中获取数据与另一个进行比较?
我需要验证 tableA
和 tableB
:如果 tableB
中存在记录,则考虑 tableB
的数据 - 如果不存在,则使用 tableA
的数据 - 并插入 tableC
.
表A
id addressNumber address2 unitno zip
------------------------------------------------
1001 250-280 abc street 29383
1002 350-400 xyz street 29831
1003 475 hfg street 8474
tableB
id addressNumber address2 unitno zip
------------------------------------------------
1001 250 abc street 22 29383
1001 260 abc street 24 29383
1001 280 abc street 23 29383
1002 350 xyz street 32 29831
1002 360 xyz street 34 29831
1002 390 xyz street 39 29831
输出到表 C:
id addressNumber address2 unitno zip
------------------------------------------------
1001 250 abc street 22 29383
1001 260 abc street 24 29383
1001 280 abc street 23 29383
1002 350 xyz street 32 29831
1002 360 xyz street 34 29831
1002 390 xyz street 39 29831
1003 475 hfg street 8474
这里id,addressnumber,unitno为主键
我想你想要:
select b.*
from b
union all
select a.*
from a
where not exists (select 1
from b
where b.id = a.id
);
我们如何从一个 table 中获取数据与另一个进行比较?
我需要验证 tableA
和 tableB
:如果 tableB
中存在记录,则考虑 tableB
的数据 - 如果不存在,则使用 tableA
的数据 - 并插入 tableC
.
表A
id addressNumber address2 unitno zip
------------------------------------------------
1001 250-280 abc street 29383
1002 350-400 xyz street 29831
1003 475 hfg street 8474
tableB
id addressNumber address2 unitno zip
------------------------------------------------
1001 250 abc street 22 29383
1001 260 abc street 24 29383
1001 280 abc street 23 29383
1002 350 xyz street 32 29831
1002 360 xyz street 34 29831
1002 390 xyz street 39 29831
输出到表 C:
id addressNumber address2 unitno zip
------------------------------------------------
1001 250 abc street 22 29383
1001 260 abc street 24 29383
1001 280 abc street 23 29383
1002 350 xyz street 32 29831
1002 360 xyz street 34 29831
1002 390 xyz street 39 29831
1003 475 hfg street 8474
这里id,addressnumber,unitno为主键
我想你想要:
select b.*
from b
union all
select a.*
from a
where not exists (select 1
from b
where b.id = a.id
);