NOT IN , left outer join 丢失数据!!
baola 2004-03-24 08:29:38 1.SELECT count(c.org_nummer) FROM customers c
LEFT OUTER JOIN company b ON c.org_nummer=b.org_nummer
WHERE (c.orgtype='A1' OR c.orgtype='A2' OR
c.orgtype='A0')
AND c.AVSLUTT < 1 得到总和结果为:302 177
2.SELECT count(c.org_nummer) FROM customers c
LEFT OUTER JOIN company b ON c.org_nummer=b.org_nummer
WHERE (c.orgtype='A1' OR c.orgtype='A2' OR
c.orgtype='A0') AND bc.bransjeID IN
(75121,75122,55523,80423,85321,80100,80210,80220,80302,80303,80309,80301
,80304,1125,80426,1122,92721,2014,80410,60220,50500,52260,51310,52112,85
313,85140,85120,80423,85321,80210,80220) AND c.AVSLUTT < 1 .
结果为:10 993
3.SELECT count(c.org_nummer) FROM customers c
LEFT OUTER JOIN company b ON c.org_nummer=b.org_nummer
WHERE (c.orgtype='A1' OR c.orgtype='A2' OR
c.orgtype='A0') AND bc.bransjeID NOT IN
(75121,75122,55523,80423,85321,80100,80210,80220,80302,80303,80309,80301
,80304,1125,80426,1122,92721,2014,80410,60220,50500,52260,51310,52112,85
313,85140,85120,80423,85321,80210,80220) AND c.AVSLUTT < 1 .
结果为:203 784 。
按照not in 和in 的理解,应该第2句和第3句的和等于等一个,但是 2+3=214 784 。丢出了数据,大家帮着分析一下,问题出在了哪里?