我有两个具有相同结构的数据表(A,B).我需要将A的每一行与B的每一行进行比较,结果数据表C应该在A中有一行,在它下面的B中该行的变化.对于相同的行(A和B中的值相同),生成的数据表不应具有这些行.
因此,生成的数据表应该包含A中的每一行和它下面的B中不相同的行.结果表不应具有相同的行.
任何人都可以帮我用C#代码.
最简单的方法是跨数据库联合:
create table merged
(select * from db1.t) union (select * from db2.t)
Run Code Online (Sandbox Code Playgroud)
仅返回唯一的行。要比较记录,请选择共享相同键的行(合并中的键列将不唯一)。
select * from merged order by key
Run Code Online (Sandbox Code Playgroud)
按照您想要的顺序对结果进行排序。
select * from merged where key in
(select key from merged group by key having count(*) > 1)
order by key
Run Code Online (Sandbox Code Playgroud)
将仅返回不匹配的行。
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |