在Oracle视图中加入order by得出了错误的结果是什么情况

u012988854 2017-11-25 11:24:37
问题如下
我用sql查询的时候是正常的

但是当我把sql放到视图中查询时就出现了这种情况,奇怪的是FILE_STATUS_NAME是根据FILE_STATUS来的,但是它有 没有问题,哪位大哥能给解释下这是为什么吗
...全文
285 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zz_fhvv 2017-11-27
同问!~~~~~
  • 打赏
  • 举报
回复
u012988854 2017-11-27
引用 5 楼 wmxcn2000 的回复:
排序字段是 OPERTION_DATE,所以系统给出的结果是没有问题的,如果存在着相同的值,那么每次的查询结果将是不稳定的,建议加一其他的字段,来保证结果的顺序; PS:现在查询的顺序,每次都是一样的,等到业务数据大量写入或删除后,这个顺序肯定会发生变化;
谢谢,我也是没有考虑过这个问题 但是我这里主要的问题是第二张图中FILE_STATUS_NAME明明是通过FILE_STATUS这个字段用DECODE()函数得到的,为什么FILE_STATUS这个字段的值都是0,和表中的原数据不同了,但是得到的FILE_STATUS_NAME又是正确的 很不理解这个情况,求大神解下疑惑
  • 打赏
  • 举报
回复
墨笙弘一 2017-11-27
同意五楼的说法,你排序字段是date
  • 打赏
  • 举报
回复
u012988854 2017-11-26
引用 1 楼 碧水幽幽泉的回复:
图不清楚啊。
点击图片上的+可以看清吧
  • 打赏
  • 举报
回复
卖水果的net 2017-11-26
排序字段是 OPERTION_DATE,所以系统给出的结果是没有问题的,如果存在着相同的值,那么每次的查询结果将是不稳定的,建议加一其他的字段,来保证结果的顺序; PS:现在查询的顺序,每次都是一样的,等到业务数据大量写入或删除后,这个顺序肯定会发生变化;
  • 打赏
  • 举报
回复
u012988854 2017-11-26
引用 3 楼 baidu_36457652 的回复:
有点奇怪,同一个字段 结果咋不一样呢
是啊,更奇怪的是我把视图中的order by这句去掉的话就是正常的了
  • 打赏
  • 举报
回复
有点奇怪,同一个字段 结果咋不一样呢
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-25
图不清楚啊。
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2017-11-25 11:24
社区公告
暂无公告