学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

900条记录左联接一张表,最终得出了700条记录,不知道是哪出错了.

900条记录左联接一张表,最终得出了700条记录,不知道是哪出错了.

本人刚刚学习SQL,碰到了这个问题,请各位路过的大侠帮忙呀,跪谢.
表A:a1,a2,a3,a4,四个字段,没有重复得记录,共900条记录
表B:b1,b2,b3,b4,四个字段,
语句如下:
select A.a1,a.a2,a.a3.a4,sum(b.b3+b.b4)
from a,b
where a.a1=b.b1(+)
and a.a2=b.b2(+)
group by a.a1,a.a2,a.a3,a.a4
其中a中的一条记录对应b中的多条记录,结果得出700条记录,经反复核查,发现a中少了的200条记录,字段a1,a2在b中都没有对应的记录,是不是因为联接出来的值是空值,经过计算得出得也是空值,可是这也只应该影响得字段值呀,不应该影响到记录,我百思不得其解,赐教呀,救命呀.

TOP

^_^,终于知道是怎么回事了,b表中还有一个字段b5,加了一个where条件,于是把那200条删掉了.

TOP

不是删掉了,是排除了而已.
一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的MSN和E-mail:mylover624@yahoo.com.cn

TOP

发新话题