oracle 按照指定的查询条件对查询结果进行排序

在今天的工作中,碰到一个老问题,需要对每天的工作量进行简化,作为运维人员,每天写运维日志,非常繁琐,但是有些东西是必须记录的。那就找方法,把过程简化,


有这么一个需求,在系统找到的交易出错的帐号,需要查询出交易详单,然后写进每天的交易检测报告里。

根据相关条件查询出来的格式为:


时间       帐号                   帐号交易状态


然后sql根据帐号进行交易查询,按照寻常的升降排序无法满足要求,出来的结果还得一条一条的黏贴

自己查找相关资料,原来order by instr 语句可以解决以上的需求。


原sql为:

select t.TermNo, m.MercNam, t.TrmModNo
  from ku.biao t
  left join ku.biao2 m on t.mercid = m.mercid
 where t.TermNo in ('60010025', '60030817', '60039508', '60056123',
        '60054968', '60045502', '60046626')

更改的sql为

select t.TermNo, m.MercNam, t.TrmModNo
  from ku.biao t
  left join ku.biao2 m on t.mercid = m.mercid
 where t.TermNo in ('60010025', '60030817', '60039508', '60056123',
        '60054968', '60045502', '60046626')

    order by instr('60010025,60030817,60039508,60056123,60054968,
                60045502,60046626',
                t.TermNo)

红色括号内,把查询条件全部只用一对单引号界定,后面跟查询字段。

这样就可以根据查询字段,列出查询结果。

然后直接复制到交易日报中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值