sql server查询数据不一致

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server查询数据不一致相关的知识,希望对你有一定的参考价值。

语句一
select count(*) from SB_GLZCSB where SBZCDM in (select distinct SBZCDM from SBB_GLZCSB)
得到的结果是932条
语句二
select count(*) from SBB_GLZCSB where SBZCDM in (select distinct SBZCDM from SB_GLZCSB)
得到的结果是936条
理论上他们得到的结果应该是相同的,为什么,怎样做到让他们相同?非常感谢!!
谢谢各位的回答,但是在这里我需要补充的是,这两个表结构是完全相同的,但是里面的数据不同。这里以SBZCDM比较,并且SBZCDM是主键

参考技术A 你要知道,excel导入的时候,源类型是通过最前8行数据类型确定的,所以,你看到的,源类型是double,而数据库的表类型是int。这意味着你的类型就对错了,把数据的特殊类型那几行,移动到excel的前8行内,它就会自己匹配的
,还有,最好是在数据库里直接创建一张新表保存数据,等数据导入正确,再去insert
into
正式表,保证数据不会错乱
参考技术B 回答 例;
表SB_GLZCSB的数据;
ID SBZCDM
001 A
002 B
003 C
004 A
005 A
006 D
表SBB_GLZCSB的数据;
ID SBZCDM
001 A
002 A
003 A
004 C
005 A
006 F
007 A
008 A
语句一
select count(*) from SB_GLZCSB where SBZCDM in (select distinct SBZCDM from SBB_GLZCSB)
得到的结果是4条。
语句二
select count(*) from SBB_GLZCSB where SBZCDM in (select distinct SBZCDM from SB_GLZCSB)
得到的结果是7条。
不可能做到相等阿。本回答被提问者采纳
参考技术C select count(*) from SB_GLZCSB where SBZCDM in (select distinct SBZCDM from SBB_GLZCSB)
得到的结果是932条
语句二
select count(*) from SBB_GLZCSB where SBZCDM in (select distinct SBZCDM from SB_GLZCSB)

第一个表是SB_GLZCSB

第二个表是SBB_GLZCSB

表名不同

你说里面的数据会同吗??????
参考技术D 很正常嘛。结构相同,内容可不一定相同,即使同一张表,查询条件不同,得到的结果也不一定相同。 第5个回答  2007-11-29 SBB_GLZCSB,SB_GLZCSB这两个表数据不一样造成的.

sql server查询结果集复制出来的行数和在SSMS上的行数不一致

【问题】

在SSMS上只查出100行

复制、另存为CSV/EXCEL 出来,会有150行

 

【解决】

 

最终是因为某个字段里有很多空格,导致excel等单元格放不下之类的。

以上是关于sql server查询数据不一致的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑

sql server查询结果集复制出来的行数和在SSMS上的行数不一致

SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑

SQL SERVER中LIKE在Char和nChar输出结果不一致解惑

SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid不正确数据库日志文 件丢失

SQL Server 管理对象 (SMO) 的默认约束不一致