left join的一个奇怪问题

sichen_1984 2012-08-07 10:42:53
语句1:select count(*)
from v_gzjbwl_fund_amabzzpay a
left join v_gzjbwl_fund_amabzzbankroll b on (a.member_code = b.member_code and a.fund_billnum = b.fund_billnum
and (b.dd_type_settlement <> '承兑汇票' or b.dd_type_settlement <> '商业承兑汇票')
and b.fund_billnum is not null);

语句2:
select count(*)
from v_gzjbwl_fund_amabzzpay a
left join v_gzjbwl_fund_amabzzbankroll b on (
(b.dd_type_settlement <> '承兑汇票' or b.dd_type_settlement <> '商业承兑汇票') and
a.member_code = b.member_code and a.fund_billnum = b.fund_billnum

and b.fund_billnum is not null);
结果分别为:
906040
822


不知道为什么。。。
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sichen_1984 2012-08-09
  • 打赏
  • 举报
回复
这个多余的帖子我先关闭了,需要看进度的请到
http://topic.csdn.net/u/20120807/10/7577e13a-387f-49a3-ac12-16c156a7ffd5.html?seed=1338974221&r=79336480#r_79336480
sichen_1984 2012-08-09
  • 打赏
  • 举报
回复
这个多余的帖子我先关闭了,需要看进度的连接为:http://topic.csdn.net/u/20120807/10/7577e13a-387f-49a3-ac12-16c156a7ffd5.html?seed=1338974221&r=79336480#r_79336480
ershihaidao 2012-08-08
  • 打赏
  • 举报
回复
应该是一样的才对。如果不一样,那用minus把两部分条数据不一样的内容拿出来,看为什么进了sql1里面而没有进入sql2里面!这样就好查了。
没看见数据,我们只能给你说理论上市一致的。
人生无悔 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
只是改变条件的顺序不会影响结果集
[/Quote]
++++++++++++++++++++++++++++++++++++++++++++
BenChiM888 2012-08-08
  • 打赏
  • 举报
回复
right

[Quote=引用 3 楼 的回复:]

只是改变条件的顺序不会影响结果集
[/Quote]
中国风 2012-08-08
  • 打赏
  • 举报
回复
只是改变条件的顺序不会影响结果集
sichen_1984 2012-08-07
  • 打赏
  • 举报
回复
多发了一份,地址为http://topic.csdn.net/u/20120807/10/7577e13a-387f-49a3-ac12-16c156a7ffd5.html?seed=1338974221&r=79336480#r_79336480
睿智天成 2012-08-07
  • 打赏
  • 举报
回复
是否因为是where后面的条件and
a.member_code = b.member_code and a.fund_billnum = b.fund_billnum的作用

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧