union 本来默认就是去重复的,union all 才是全部显示,你肯定是其他列中有不同,所以2条记录才会被当作不同,全部显示出来.另外,你第一个查询是查1,2,3,4列.5,6,7列值都为0;第二个查询是1,2,3,4列都为0,查5,6,7列.这样两个查询合并后会有重复的记录?匪夷所思啊...这样查出来的结果,表1相对表2中的记录, 没有一条会相同,所以当然是2个查询的结果完全显示出来...
问题没有描述清楚,不明