数据库做分区后,使用union或union all 查询结果比预期的少

finalsyo 2016-09-01 11:07:00
oracle11g 有一张台站表按地区字段做了分区,现有如下问题

1.查询两个地区时
结果错误,缺少p12的数据:select guid from station partition(p11) union all select guid from station(p12)
结果正确:select guid from station partition(p11) union select guid from station(p12)

2.查询更多地区时
结果错误,缺少p13的数据:select guid from station partition(p11) union select guid from station(p12) union select guid from station partition(p13)
结果正确:select guid from station partition(p11) union select guid from station(p12) union all select guid from station partition(p13)

请问这个问题是不是由分区引起的?这个问题怎么改?

...全文
1326 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
finalsyo 2017-05-10
  • 打赏
  • 举报
回复
在外面套一层查询可以解决
ghx287524027 2016-09-01
  • 打赏
  • 举报
回复
具体还不知道,但是你可以追踪一下sql的执行过程,对比一下
finalsyo 2016-09-01
  • 打赏
  • 举报
回复
大神来给解答一下原理吧
finalsyo 2016-09-01
  • 打赏
  • 举报
回复
刚才有个人教了个方法 select * from (select guid from station partition(p11)) union all select * from (select guid from station partition(p12)) 每个union字句外面包一层就可以了
finalsyo 2016-09-01
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
你用的是什么数据库连接工具呢?
c# 程序里用的是oracleclient 直连库时用的plsqldev
卖水果的net 2016-09-01
  • 打赏
  • 举报
回复
你用的是什么数据库连接工具呢?

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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