【问题标题】:Compare two tables and consider from specific table to insert比较两个表并考虑从特定表中插入
【发布时间】:2020-06-05 02:21:15
【问题描述】:

我们如何从一张表中获取数据并与另一张表进行比较?

我需要验证tableAtableB:如果记录存在于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

表B

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

输出到 TableC:

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是主键

【问题讨论】:

  • 从完全外连接插入。

标签: sql tsql sql-server-2016


【解决方案1】:

我想你想要:

select b.*
from b
union all
select a.*
from a
where not exists (select 1
                  from b
                  where b.id = a.id 
                 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2020-10-07
    • 2016-09-29
    • 1970-01-01
    相关资源
    最近更新 更多