m0_67122663 2022-03-03 15:28 采纳率: 80%
浏览 22
已结题

SQL语句如何优化。

是个判断语句,IF(and(or(字段1=,字段1=,字段1=,),or(字段2=,字段2=,字段2=,)),"电信",IF(and(or(字段1=,字段1=,字段1=,),or(字段2=,字段2=,字段2=,)),"联通",“移动”)

代码如下:
select
A.fsaf,
A.fdssag,
A.yrtre,
case when (A.fdssag='T169罛 '
or A.fdssag='L562窸J'
or A.fdssag='Y435?'
or A.fdssag='K896?:'
or A.fdssag='D443?P'
or A.fdssag='G624?/'
or A.fdssag='I241翭V'
or A.fdssag='Q785穙/'
or A.fdssag='Y624僚N'
or A.fdssag='E88淋4'
or A.fdssag='B648緰S'
or A.fdssag='S231綛:'
or A.fdssag='W191帛@'
or A.fdssag='W106繣0'
or A.fdssag='L151?'
or A.fdssag='T558礣O'
or A.fdssag='W680皭'
or A.fdssag='H841?'
or A.fdssag='T805骏<'
or A.fdssag='F701砄 '
or A.fdssag='T95綈1'
or A.fdssag='N612党'
or A.fdssag='O695緻'
or A.fdssag='D838禎'
or A.fdssag='H494纈?'
or A.fdssag='B642罇'
or A.fdssag='Q786?'
or A.fdssag='B646卵&'
or A.fdssag='K389簻P'
or A.fdssag='E297砵9'
or A.fdssag='J114渐*'
or A.fdssag='C981?7'
or A.fdssag='V560懊?'
or A.fdssag='W612?6'
or A.fdssag='T169罛')
and (or A.yrtre='@914?.'
or A.yrtre='T638篻 '
or A.yrtre='T476侈/'
or A.yrtre='Z935秔5'
or A.yrtre='V838呈'
or A.yrtre='K161颁R'
or A.yrtre='O557?'
or A.yrtre='K53礟5'
or A.yrtre='R290?7'
or A.yrtre='N740穧,'
or A.yrtre='H506紭U'
or A.yrtre='K308氛S'
or A.yrtre='S925江Y'
or A.yrtre='K514礼*'
or A.yrtre='K156紒'
or A.yrtre='P356聡A'
or A.yrtre='H281从'
or A.yrtre='C309紷 '
or A.yrtre='Z26渡H'
or A.yrtre='Q81粅 '
or A.yrtre='Y65箃'
or A.yrtre='R876历'
or A.yrtre='O732?'
or A.yrtre='F678菊'
or A.yrtre='T489井/'
or A.yrtre='U638盰#'
or A.yrtre='J554舰E'
or A.yrtre='V270奎C'
or A.yrtre='N270?2'
or A.yrtre='W204寡&'
or A.yrtre='U536掘9'
or A.yrtre='I702?M'
or A.yrtre='P616粏('
or A.yrtre='V884坎6') then '电信'
when (A.fdssag='T169罛 '
or A.fdssag='L562窸J'
or A.fdssag='Y435?'
or A.fdssag='K896?:'
or A.fdssag='D443?P'
or A.fdssag='G624?/'
or A.fdssag='I241翭V'
or A.fdssag='Q785穙/'
or A.fdssag='Y624僚N'
or A.fdssag='E88淋4'
or A.fdssag='B648緰S'
or A.fdssag='S231綛:'
or A.fdssag='W191帛@'
or A.fdssag='W106繣0'
or A.fdssag='L151?'
or A.fdssag='T558礣O'
or A.fdssag='W680皭'
or A.fdssag='H841?'
or A.fdssag='T805骏<'
or A.fdssag='F701砄 '
or A.fdssag='T95綈1'
or A.fdssag='N612党'
or A.fdssag='O695緻'
or A.fdssag='D838禎'
or A.fdssag='H494纈?'
or A.fdssag='B642罇'
or A.fdssag='Q786?'
or A.fdssag='B646卵&'
or A.fdssag='K389簻P'
or A.fdssag='E297砵9'
or A.fdssag='J114渐*'
or A.fdssag='C981?7'
or A.fdssag='V560懊?'
or A.fdssag='W612?6'
or A.fdssag='T169罛')
and (or or A.yrtre='Z912礩 '
or A.yrtre='E121馈G'
or A.yrtre='K827哥U'
or A.yrtre='V509祋!'
or A.yrtre='@694沧%'
or A.yrtre='N322炕U'
or A.yrtre='H585歌'
or A.yrtre='C108?M'
or A.yrtre='I750桂'
or A.yrtre='D141絜7'
or A.yrtre='L778辆@'
or A.yrtre='A428碮I'
or A.yrtre='W716?-'
or A.yrtre='M24基2'
or A.yrtre='F362?@'
or A.yrtre='Q120筫?'
or A.yrtre='U749箭P'
or A.yrtre='L808?A'
or A.yrtre='M311回 '
or A.yrtre='@939惯W'
or A.yrtre='J913'
or A.yrtre='U62翠='
or A.yrtre='O586箼-'
or A.yrtre='L468凋'
or A.yrtre='M627?'
or A.yrtre='Y348储R'
or A.yrtre='P902汲>'
or A.yrtre='H362矐'
or A.yrtre='T441僵*'
or A.yrtre='O440?'
or A.yrtre='D73?"'
"or A.yrtre='D148荷‘
or A.yrtre='A702?'
"or A.yrtre='T472?') then '联通’
else '移动' end as "运营商"
FROM jk01_YiWen_Question A

展开全部

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-03 15:41
    关注

    假设不改主体逻辑的话,可以把你这些or的条件改成in,这样代码会短不少。
    不过,这一堆参数看着实在太乱了,以后加类型还得改sql。
    所以,建议新建两个配置表,分别至少有两个字段,运营商和yrtre,运营商和fdssag,并且yrtre和fdssag建立唯一索引,之后就可以关联着查了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    m0_67122663 2022-03-03 16:05

    老师好,假如因为权限问题,不能建立配置表,另外也除了IN,还有没有其它方法可以优化的?谢谢!!

    回复
    DarkAthena 回复 m0_67122663 2022-03-03 18:18

    说下数据库类型以及版本

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月15日
  • 已采纳回答 5月8日
  • 创建了问题 3月3日

悬赏问题

  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部