1:建立中间表,将步骤分解。

2:避免全字段查询,只查需要的字段

3:限定条件查询,避免先关联后写条件,

--优化交货数据  --建临时表T_JHinfo  select A.VBELN,C.VBELN AS JH_VBELN,C.ERDAT AS JH_ERDAT,C.WADAT_IST   from (          select VBELN,case when AUART='ZA17' then BSTNK else  VBELN end as VBELNNO          from VBAK          where ERDAT=CONVERT(varchar(10),GETDATE()-1,112)          )A left join (select VBELN,VGBEL from LIPS) AS B ON A.VBELNNO=B.VGBEL             LEFT jOIN (select VBELN,ERDAT,WADAT_IST FROM LIKP) AS C ON B.VBELN=C.VBELN

select A.ERDAT AS 对接日期, A.ERZET AS 对接时间,A.ORDERID AS 订单号,DDLX AS 订单类型,A.KUNNR AS 客户编号, B.POSNR1 AS 订单行项目,B.MATNR AS 物料编号,KWMENGE AS 数量,SLPRC AS 单价,BUKRS AS 销售组织,B.VKBUR AS 销售办公室, B.VBELN as SAP订单号,POSNR AS SAP订单行项目,ZMENG AS SAP订单受理数量,LIFSK AS SAP订单交货冻结, C.ERDAT AS SAP订单创建日期, F.JH_VBELN AS SAP交货单号,F.JH_ERDAT AS SAP交货单创建日期,F.WADAT_IST AS SAP交货单过帐日期, B.REASON as 拒绝原因,case when  A.DDLX='08' AND B.VBELN='' AND B.REASON='' then '待审核'         when A.DDLX='08' AND LIFSK='ZE'  then '已审核,待付款'         when  A.DDLX='08' AND LIFSK='ZF'  then '已付款,待发货'         when  A.DDLX='08' AND F.WADAT_IST<>'' then '已发货'         when  A.DDLX='08' AND  B.REASON<>'' then '已拒绝'         when  A.DDLX<>'08' AND B.VBELN='' AND B.REASON='' then '待受理'         when  A.DDLX<>'08' AND B.VBELN<>'' AND F.WADAT_IST='' then '已受理待发货'         when  A.DDLX<>'08' AND F.WADAT_IST<>'' then '已发货'         end as 订单状态 from (select ERDAT,ERZET,ORDERID,DDLX,KUNNR,BUKRS   from ZTSD200 where ERDAT=CONVERT(Varchar(10),GETDATE()-1,112) ) AS  A left join (select ORDERID,POSNR1,MATNR,KWMENGE,SLPRC,VKBUR,VBELN,REASON                       from  ZTSD200_item                       where ORDERID IN (select ORDERID from ZTSD200 where ERDAT=CONVERT(Varchar(10),GETDATE()-1,112) )        ) AS  B ON A.ORDERID=B.ORDERID                left join (select VBELN,LIFSK,ERDAT from VBAK where ERDAT=CONVERT(Varchar(10),GETDATE()-1,112)) C ON B.VBELN=C.VBELN                LEFT JOIN (select VBELN,POSNR,ZMENG from VBAP where ABGRU not in ('X2','X6') AND ERDAT=CONVERT(Varchar(10),GETDATE()-1,112)) D ON B.VBELN=D.VBELN       LEFT jOIN T_JHinfo AS F ON C.VBELN=F.VBELN

最新文章

  1. 解决VMware虚拟机宿主机与虚拟机通讯慢
  2. Bootstrap组件之响应式导航条
  3. val()方法
  4. [转]AS3复制可视对象
  5. uva494 Kindergarten Counting Game
  6. Android TabHost的使用
  7. Swift - 操作表(UIActionSheel)的用法,也叫底部警告框
  8. 【最新】让快捷方式 实现相对路径——非.bat方式实现
  9. android脚步---不同activity之间参数传递
  10. hadoop2.2 datanode 启动不了
  11. EJB3基本概念、运行环境、下载安装与运行jboss
  12. SQL学习指南之查询入门
  13. Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令
  14. 微信支付支付宝支付生成二维码的方法(php生成二维码的三种方法)
  15. AtCoder Beginner Contest 117 解题报告
  16. Code Signal_练习题_Knapsack Light
  17. JS中深浅拷贝 函数封装代码
  18. Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率
  19. Linq基础知识小记一
  20. MySQL学习笔记:upper、lower、ucase、lacase——字符串函数

热门文章

  1. [jQuery学习系列一]1-选择器与DOM对象
  2. crossplatform---Nodejs in Visual Studio Code 08.IIS
  3. Linux初学 - java环境安装
  4. JAVA学习Swing绝对局部简单学习
  5. new一个Object对象占用多少内存?
  6. QQ邮箱的安全问题
  7. 可扩展验证框架 - A2DFramework验证框架使用介绍
  8. IE6实现图片或背景的圆角效果
  9. Logdump使用指引
  10. iOS WKWebView详解