难道oracle的关联查询有bug?在线等待,解决问题即送分!
第一位正确回答的朋友得高分!
oracle 9i中,如下2条查询语句,执行的结果竟然不同!!!!!!!!
谁能告诉我到底为什么?
数据库中的数据如下:
userinfo表:
userid username
2 aaa
3 bbb
64 ccc
sl_hc_xqd表:(在以下2个查询语句中相当于没有数据)
djid djztid xmjlbh
1 01 10
2 02 10
select a.userid, a.username, count(b.djid) as xqd
from userinfo a, sl_hc_xqd b
where a.userid in ('2', '3', '64')
and a.userid = b.xmjlbh(+)
and b.djztid in ('02', '03')
group by a.userid, a.username
select a.userid, a.username, count(b.djid) as xqd
from userinfo a, (select djid, xmjlbh from sl_hc_xqd where djztid in ('02', '03')) b
where a.userid = b.xmjlbh(+)
and a.userid in ('2', '3', '64')
group by a.userid, a.username
结果第一条语句返回0条记录,而第二条语句返回3条记录
我是先写的第一条语句,发现返回结果不对,因此想尽了办法才写出第二条语句