标题:900条记录左联接一张表,最终得出了700条记录,不知道是哪出错了.
只看楼主
huangqiang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-16
 问题点数:0 回复次数:2 
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中都没有对应的记录,是不是因为联接出来的值是空值,经过计算得出得也是空值,可是这也只应该影响得字段值呀,不应该影响到记录,我百思不得其解,赐教呀,救命呀.
搜索更多相关主题的帖子: 联接 记录 
2007-05-16 18:11
huangqiang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-16
得分:0 
^_^,终于知道是怎么回事了,b表中还有一个字段b5,加了一个where条件,于是把那200条删掉了.
2007-05-16 19:01
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
不是删掉了,是排除了而已.

飘过~~
2007-05-17 09:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-139943-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.227146 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved