12
返回列表 发新帖
楼主: yonggangma

请教有关DECODE的问题

[复制链接]
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
11#
发表于 2002-3-1 09:11 | 只看该作者
楼顶的是否有考虑过这样的情况
你的temp table里面的数据如果是这样的
code,amount,mode,date
1,100,FIFO,02-12-12
2,200,LIFO,02-12-13
3,300,LIFO,02-12-14
4,400,FIFO,02-12-15
这样叫oracle如何排序呢?除非mode的值全是一样的

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
12#
 楼主| 发表于 2002-3-1 12:26 | 只看该作者
mode值是一样的,因为是临时表嘛,我里面存的是同一物料在库存中不同储位的库存数对于同一物料来说,其发料模式当然是相同的了。
问题是:若表中数据为
code,amount,mode,date
1,100,FIFO,02-12-12
2,200,FIFO,02-12-13
3,300,FIFO,02-12-14
4,400,FIFO,02-12-15
执行语句:
select *
from temp_table
order by
decode(mode,'FIFO', 'date asc','LIFO','date desc');
得不到想要的结果,就是说decode用在order by后面是否支持?

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
13#
发表于 2002-3-1 15:06 | 只看该作者
hi,yonggangma
试过我前面的方法了吗?应该可以了.

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
14#
 楼主| 发表于 2002-3-1 16:40 | 只看该作者

可以了,谢谢版主

版主的这条语句执行后是对的:
select * from tabname
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表