sql server查询数据不一致

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:28:10
语句一
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是主键

回答 例;
表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条。
不可能做到相等阿。

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

表名不同

你说里面的数据会同吗??????

很正常嘛。结构相同,内容可不一定相同,即使同一张表,查询条件不同,得到的结果也不一定相同。

SBB_GLZCSB,SB_GLZCSB这两个表数据不一样造成的.