SQL> select count(*) from smnd_yh; COUNT(*)
----------
106324SQL> select count(*) from smnd; COUNT(*)
----------
106305说明两表的记录条数相差19条
----------
106324SQL> select count(*) from smnd; COUNT(*)
----------
106305说明两表的记录条数相差19条
minus
select bh from smnd说明编号不同的有222条
方法二说明表smnd_yh中有222条记录是表smnd中所不存在的
结合表一可以说明表smnd中含有表smnd_yh中所不含有的bh值最后一个查询没什么意义,应该是
select bh from smnd
minus
select bh from smnd_yh
两张表的关系反了
create table smnd as
select * from smnd_yh
所以说表smnd的数据都是从smnd_yh里取得的
记录的不同唯一的解释是表smnd里没有smnd_yh的记录 zmgowin(隐者(龙祖宗)) 的
/*最后一个查询没什么意义,应该是
select bh from smnd
minus
select bh from smnd_yh
两张表的关系反了*/不对吧。请再看看。
select distinct bh from smnd_yh
minus
select distinct bh from smnd)
应该改为:select * from smnd_yh where bh in (
select distinct bh from smnd_yh
minus
select distinct bh from smnd)
smnd表不是用bh列做主键的,有可能是联合主键
select distinct bh from smnd_yh
minus
select distinct bh from smnd)
--
你这样当然是空了,smnd_yh的数据减去smnd中的数据后剩下的是那些只在smnd_yh中存在的数据,而你在smnd中查找当然是没有记录。