社区
MS-SQL Server
帖子详情
如何比较两个SQL查询语句查询出来的结果集,并把有差异的记录列出来。这个SQL语句如何写
jingshong
2007-04-01 08:14:09
如何比较两个SQL查询语句查询出来的结果集,并把有差异的记录列出来。这个SQL语句如何写
...全文
1901
6
打赏
收藏
如何比较两个SQL查询语句查询出来的结果集,并把有差异的记录列出来。这个SQL语句如何写
如何比较两个SQL查询语句查询出来的结果集,并把有差异的记录列出来。这个SQL语句如何写
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jingshong
2007-04-03
打赏
举报
回复
谢谢
中国风
2007-04-01
打赏
举报
回复
用binary_checksum替换checksum
指定对表中的所有列进行计算。BINARY_CHECKSUM 在计算中忽略具有不可比数据类型的列。不可比数据类型是 text、ntext、image、cursor 以及基本类型为前 4 个数据类型之一的 sql_variant。
checksum:
指定在表的所有列上进行计算。如果有任一列是非可比数据类型,则 CHECKSUM 返回错误。不可比数据类型是 text、ntext、image、cursor 以及基本类型为前 4 个数据类型之一的 sql_variant。
marco08
2007-04-01
打赏
举报
回复
checksum()函数不能用在
text、ntext、image、cursor 以及sql_variant数据类型的列上
OracleRoob
2007-04-01
打赏
举报
回复
create table A(id int ,num int)
create table B(id int ,num int)
insert into A select 1,1
insert into A select 1,2
insert into A select 1,3
insert into A select 1,4
insert into B select 1,1
insert into B select 1,2
insert into B select 2,1
insert into B select 2,2
--用checksum()函数
--假设两个表结构完全相同
--所有A表中有,而B表中没有的数据
select *
from A
where checksum(*) not in (select checksum(*) from B)
--所有B表中有,而A表中没有的数据
select *
from B
where checksum(*) not in (select checksum(*) from A)
drop table A,B
--结果
/*
id num
-----------------------------
1 3
1 4
id num
-----------------------------
2 1
2 2
*/
OracleRoob
2007-04-01
打赏
举报
回复
--用checksum()函数
--假设两个表结构完全相同
--所有A表中有,而B表中没有的数据
select *
from A
where checksum(*) not in (select checksum(*) from B)
--所有B表中有,而A表中没有的数据
select *
from B
where checksum(*) not in (select checksum(*) from A)
marco08
2007-04-01
打赏
举报
回复
把表结构, 数据和想要的结果贴出来看看
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章