首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于比较表之间行之间差异的SQL查询

问用于比较表之间行之间差异的SQL查询
EN

Stack Overflow用户
提问于 2018-12-21 05:06:22
回答 2查看 98关注 0票数 0

我想知道如何比较两个数据库表记录,并将结果返回到单独的表中。

例如,我在每个表A B C D E F中总共有6列。但是,我只比较A、B和C列中的记录

如果在列A、B、C的每个表中都有匹配,我希望将结果输出到匹配行的新表(.csv文件等)中

让我举例说明:

在表A中,您可以看到6列,A、B、C、D、E、F。该表包含以下行:

​

​

表A

表B还有6列A、B、C、D、E、F

​

​

从表中可以看到,在A、B和C上只有一行匹配,即xx、PP、dd。

我希望将该行输出到包含该行中所有记录的表中。xx PP dd TYH ADF AD

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-21 05:11:36

这并不复杂,这是SQL的面包和黄油...您正在查找联接条件,例如

代码语言:javascript
复制
select A.*, B.*
from TableA A
inner join TableB B on A.A = B.A and A.B = B.B and A.C = B.C

其中A*是表A (TableA)中的所有列,B是表B (TableB)中的所有列

编辑:根据您对表A和B中单独一行的明确要求,尝试以下操作:

代码语言:javascript
复制
select convert(bit,1) Is_Deleted, A.A, A.B, A.C, A.D, A.E, A.F
from TableA A
inner join TableB B on B.A = A.A and B.B = A.B and B.C = A.C
union all
select convert(bit,1) Is_Deleted, B.A, B.B, B.C, B.D, B.E, B.F
from TableB B
inner join TableA A on A.A = B.A and A.B = B.B and A.C = B.C
order by A, B, C
票数 2
EN

Stack Overflow用户

发布于 2018-12-21 05:11:17

不清楚您是否需要表1或表2的输出。尽管查询将非常简单。

代码语言:javascript
复制
SELECT t.A, t.B, t.C, t.D, t.E, t.F
FROM  TableA t
INNER JOIN TableB tt ON (t.A = tt.A AND t.B = tt.B AND t.C = tt.C)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53876049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档