sql数据库中的两个表的记录进行比较

sql数据库中的两个表的记录进行比较,第1张

问题补充:

select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'

select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'

微软专家吴熹

能否解释一下上面的语句是什么意思,因为我要比较几万条记录,不会要这样每条都写入程序吧!

A表中有几万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。

---------------------------------

以上脚本是生成测试数据,加上N''--用生成nvarchar符号,有特殊字符时可加上。

两个表要通过主健关连 加上条件 where aID=bID,不加条件时,需要保证A表只有一条数据

没主健时多对多关系会产生笛卡尔结果集

--> --> (Roy)生成测试数据

declare @A table([1] nvarchar(1),[2] nvarchar(1),[3] nvarchar(1),[4] nvarchar(1),[5] nvarchar(1),[6] nvarchar(1),[7] nvarchar(1),[8] nvarchar(1),[9] nvarchar(1),[10] nvarchar(1))

Insert @A

select N'a',N'c',N'a',N'b',N'a',N'b',N'c',N'c',N'a',N'b'

--> --> (Roy)生成测试数据

declare @B table([1] nvarchar(2),[2] nvarchar(2),[3] nvarchar(2),[4] nvarchar(2),[5] nvarchar(3),[6] nvarchar(2),[7] nvarchar(2),[8] nvarchar(2),[9] nvarchar(3),[10] nvarchar(2))

Insert @B

select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'

Select a,

case when b[1] like '%'+a[1]+'%' then 1 else 0 end+

case when b[2] like '%'+a[2]+'%' then 1 else 0 end+

case when b[3] like '%'+a[3]+'%' then 1 else 0 end+

case when b[4] like '%'+a[4]+'%' then 1 else 0 end+

case when b[5] like '%'+a[5]+'%' then 1 else 0 end+

case when b[6] like '%'+a[6]+'%' then 1 else 0 end+

case when b[7] like '%'+a[7]+'%' then 1 else 0 end+

case when b[8] like '%'+a[8]+'%' then 1 else 0 end+

case when b[9] like '%'+a[9]+'%' then 1 else 0 end+

case when b[10] like '%'+a[10]+'%' then 1 else 0 end as 新列

from @A a,@B b

(1 行受影响)

1 2 3 4 5 6 7 8 9 10 新列

---- ---- ---- ---- ---- ---- ---- ---- ---- ---- -----------

a c a b a b c c a b 7

(1 行受影响)

rsopen "select from ZSPH WHERE PH001='" & arr(x,1) & "'", db, adOpenDynamic, adLockReadOnly, adCmdText

if rsrecordcount=0 then'数据库里没有记录,作相关处理

'前面'Dim rs As ADODBRecordset前面注释取消,并改成 面'Dim rs As new ADODBRecordset

如果没有特殊要求的话,一般最好用数据库中的比较,先在数据库中比较数据,找出差异的,然后用程序输出文本或者打印,毕竟数据库的数据处理能力是很强大的;当然你也可以把数据两个表的数据分别取出来,在程序中使用两个对象来存放,然后在程序中对这2个对象进行比较

先把每个库的表结构导出到文件,然后比较这两个文件。

mysqldump --skip-comments --skip-extended-insert -u root -p database1>file1sql

mysqldump --skip-comments --skip-extended-insert -u root -p database2>file2sql

diff file1sql file2sql

其实还有一些比较工具,推荐一个

mysql-comparison-tools

以上就是关于sql数据库中的两个表的记录进行比较全部的内容,包括:sql数据库中的两个表的记录进行比较、如何把excel数组的数据与数据库的表进行比较、如何用java对数据库中表进行比较等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10182558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存