ORACLE FULL OUTER JOIN 的 bug

gemwo 2003-06-11 05:16:11
两张表如下:
TEST1:
id1
--
A
B
C

TEST2:
id2
--
A
A
D
D

第二张表使用group子查询后,再用外连接,结果第二张group by没有执行也没有COUNT数据
SELECT * FROM
TEST1
full outer join
(SELECT id2,COUNT(*) FROM test WHERE id1 IS NOT NULL GROUP BY id2)
ON id1=id2

ID ID1 COUNT(*)
--------- -------------- ------
A A 2
C
B
D
D

如果改用right outer join 则是正确的
SELECT * FROM
TEST1
right outer join
(SELECT id2,COUNT(*) FROM test WHERE id1 IS NOT NULL GROUP BY id2)
ON id1=id2

ID ID1 COUNT(*)
----------------------
A A 2
D 2

各位看看是oracle的bug还是sql有问题
...全文
62 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckhambobo 2003-06-11
  • 打赏
  • 举报
回复
第二条语句相当于:
select max(select id from test1 where id=id1) id,id2,count(1) from test2 group by id2

17,137

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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