我想知道如何比较两个数据库表记录,并将结果返回到单独的表中。
例如,我在每个表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
发布于 2018-12-21 05:11:36
这并不复杂,这是SQL的面包和黄油...您正在查找联接条件,例如
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中单独一行的明确要求,尝试以下操作:
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发布于 2018-12-21 05:11:17
不清楚您是否需要表1或表2的输出。尽管查询将非常简单。
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)https://stackoverflow.com/questions/53876049
复制相似问题