在今天的工作中,碰到一个老问题,需要对每天的工作量进行简化,作为运维人员,每天写运维日志,非常繁琐,但是有些东西是必须记录的。那就找方法,把过程简化,
有这么一个需求,在系统找到的交易出错的帐号,需要查询出交易详单,然后写进每天的交易检测报告里。
根据相关条件查询出来的格式为:
时间 帐号 帐号交易状态
然后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)
红色括号内,把查询条件全部只用一对单引号界定,后面跟查询字段。
这样就可以根据查询字段,列出查询结果。
然后直接复制到交易日报中。