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

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

但是当我把sql放到视图中查询时就出现了这种情况,奇怪的是FILE_STATUS_NAME是根据FILE_STATUS来的,但是它有 没有问题,哪位大哥能给解释下这是为什么吗
...全文
364 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
图不清楚啊。

17,086

社区成员

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

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