# coding: utf-8

# In[ ]:

WITH List AS (
SELECT e.*,f.* FROM
( SELECT DISTINCT c.lot_id, c.wafer_key,
LEFT(c.layer_id, CHARINDEX('_', c.layer_id) -1) as Layer,c.layer_id,
COUNT(0) AS defect_count,d.class_number, REPLACE(LTRIM(REPLACE(c.wafer_id, '0', ' ')), ' ', '0') as waferid
FROM [SSMC_IEDA].[dbo].[insp_wafer_summary] AS c, [SSMC_IEDA].[dbo].[insp_defect] AS d
where c.wafer_key = d.wafer_key and c.layer_id like '[CTM-M]%_ASI' and c.inspection_date BETWEEN '2018-11-01' AND '2018-11-20'
AND d.class_number in (167, 67)
GROUP BY c.lot_id,c.wafer_id,d.class_number,c.layer_id, c.wafer_key) AS e INNER JOIN
(select distinct a.recpid, a.stage, a.lotid, b.automatedrecipeid, LEFT(a.stage, CHARINDEX('_', a.stage) -1) as Stg from mes_tbl_hist AS a
INNER JOIN mes_tbl_recp AS b ON a.recpid = b.recpid WHERE a.eqpid LIKE 'AEM2%' AND a.stage NOT LIKE 'REWORK') AS f ON e.lot_id = f.lotid
AND (((e.Layer = 'CTM' OR e.Layer LIKE 'CTM%') AND (f.Stg = 'CTM' OR f.Stg LIKE 'CTM%'))
OR
(e.Layer LIKE 'M%' AND f.Stg LIKE CONCAT(substring(e.Layer, PatIndex('%[a-z]%',LOWER(e.Layer)), case PatIndex('%[a-z]%',LOWER(e.Layer)) when 0 then 2 else 1 end),'E',substring(e.Layer, PatIndex('%[0-9]%', e.Layer),case PatIndex('%[0-9]%',e.Layer) when 0 then 2 else 1 end),'%')
))
AND f.Stg NOT LIKE 'MW%'
AND f.Stg NOT LIKE 'MT%'
AND e.Layer NOT LIKE 'MT%'
AND e.Layer NOT LIKE 'MW%' )
SELECT DISTINCT List.layer_id,List.defect_count,b.eqpid, SUBSTRING(b.ParameterName, CHARINDEX('-', b.parametername) +1,1) as Chamber,
b.lotid,a.slotid,
a.waferid,
LEFT(b.ParameterName, CHARINDEX('-', b.ParameterName) -1) as Param_Name,
LEFT(c.stage, CHARINDEX('_', c.stage) -1) as Stg,
c.stage,
SUBSTRING(b.ParameterName, CHARINDEX('-', b.parametername) +3,+1) as Step,
SUBSTRING(b.ParameterName, CHARINDEX('-', b.parametername) +5, LEN( b.parametername)) as Recipie_Name,
b.parametername,
a.[data] as data1,a.finishtime,
rank() OVER (PARTITION BY a.slotid, b.eqpid,b.lotid,c.stage,List.layer_id,b.parametername ORDER BY a.finishtime) AS RNK
FROM [SSMC_RTM].[dbo].[rtm_tbl_massdata] a INNER JOIN [SSMC_RTM].[dbo].[rtm_tbl_datahist] b
ON a.[datahist_fno]=b.[fno] INNER JOIN SSMC_RTM.dbo.rtm_tbl_batchdatahist c ON b.fno = c.datahist_fno
INNER JOIN List ON List.lot_id = b.lotid AND List.waferid = a.slotid AND LEFT(c.stage, CHARINDEX('_', c.stage) -1) = List.Stg
AND SUBSTRING(b.parametername, CHARINDEX('-', b.parametername) +5, LEN( b.parametername)) = List.automatedrecipeid
WHERE b.parametername LIKE '%-4-%'
--AND b.parametername NOT LIKE '%-$'
AND b.parametername LIKE '%-%-%-%'
AND ( b.parametername LIKE 'ETCM_PHA4_A%' OR b.parametername LIKE 'ETCM_PHA4_B%'
OR b.parametername LIKE 'ETCM_PHB4_A%' OR b.parametername LIKE 'ETCM_PHB4_B%'
OR b.parametername LIKE 'ETCM_PHC4_A%' OR b.parametername LIKE 'ETCM_PHC4_B%'
OR b.parametername LIKE 'HELK_MEAN_A%' OR b.parametername LIKE 'HELK_MEAN_B%'
OR b.parametername LIKE 'LOWERCHM_PRESS_A%' OR b.parametername LIKE 'LOWERCHM_PRESS_B%'
OR b.parametername LIKE 'PBK4_A%' OR b.parametername LIKE 'PBK4_B%'
OR b.parametername LIKE 'RR23_MEAN_A%' OR b.parametername LIKE 'RR23_MEAN_B%'
OR b.parametername LIKE 'RR23_MAX._A%' OR b.parametername LIKE 'RR23_MAX._B%'
OR b.parametername LIKE 'RR13_MEAN_A%' OR b.parametername LIKE 'RR13_MEAN_B%'
OR b.parametername LIKE 'RR13_MAX._A%' OR b.parametername LIKE 'RR13_MAX._B%'
OR b.parametername LIKE 'THR3_MAX._A%' OR b.parametername LIKE 'THR3_MAX._B%'
OR b.parametername LIKE 'THR3_MAX._DIFF_A%' OR b.parametername LIKE 'THR3_MAX._DIFF_B%'
OR b.parametername LIKE 'THR3_MEAN_A%' OR b.parametername LIKE 'THR3_MEAN_B%'
OR b.parametername LIKE 'THR3_MEAN_DIFF_A%' OR b.parametername LIKE 'THR3_MEAN_DIFF_B%'
OR b.parametername LIKE 'THR3_MEAN_SLOPE_A%' OR b.parametername LIKE 'THR3_MEAN_SLOPE_B%'
-- b.parametername LIKE 'BIAS_COEF_A%' OR b.parametername LIKE 'BIAS_COEF_B%'
OR b.parametername LIKE 'CURRENT_MAX._A%' OR b.parametername LIKE 'CURRENT_MAX._B%'
OR b.parametername LIKE 'CURRENT_MAX._DIFF_A%' OR b.parametername LIKE 'CURRENT_MAX._DIFF_B%'
OR b.parametername LIKE 'CURRENT_MEAN_A%' OR b.parametername LIKE 'CURRENT_MEAN_B%'
OR b.parametername LIKE 'CURRENT_MEAN_DIFF_A%' OR b.parametername LIKE 'CURRENT_MEAN_DIFF_B%'
OR b.parametername LIKE 'DCB3_MEAN_A%' OR b.parametername LIKE 'DCB3_MEAN_B%'
--OR b.parametername LIKE 'DCB3_MEAN_DIFF_A%' OR b.parametername LIKE 'DCB3_MEAN_DIFF_B%'
OR b.parametername LIKE 'DCB3_MEAN_SLOPE_A%' OR b.parametername LIKE 'DCB3_MEAN_SLOPE_B%'
OR b.parametername LIKE 'ETCM_PHA4_DIFF_A%' OR b.parametername LIKE 'ETCM_PHA4_DIFF_B%'
OR b.parametername LIKE 'ETCM_PHB4_DIFF_A%' OR b.parametername LIKE 'ETCM_PHB4_DIFF_B%'
OR b.parametername LIKE 'ETCM_PHC4_DIFF_A%' OR b.parametername LIKE 'ETCM_PHC4_DIFF_B%'
OR b.parametername LIKE 'HECL_MAX._A%' OR b.parametername LIKE 'HECL_MAX._B%'
OR b.parametername LIKE 'HECL_MEAN_A%' OR b.parametername LIKE 'HECL_MEAN_B%'
OR b.parametername LIKE 'HECL_MEAN_DIFF_A%' OR b.parametername LIKE 'HECL_MEAN_DIFF_B%'
OR b.parametername LIKE 'HECL_MIN._A%' OR b.parametername LIKE 'HECL_MIN._B%'
OR b.parametername LIKE 'HELK_MEAN_DIFF_A%' OR b.parametername LIKE 'HELK_MEAN_DIFF_B%'
OR b.parametername LIKE 'HELK_MEAN_SLOPE_A%' OR b.parametername LIKE 'HELK_MEAN_SLOPE_B%'
OR b.parametername LIKE 'LOWERCHM_PRESS_DIFF_A%' OR b.parametername LIKE 'LOWERCHM_PRESS_DIFF_B%'
OR b.parametername LIKE 'PBK4_DIFF_A%' OR b.parametername LIKE 'PBK4_DIFF_B%'
OR b.parametername LIKE 'RF11_MAX._A%' OR b.parametername LIKE 'RF11_MAX._B%'
OR b.parametername LIKE 'RF11_MAX._DIFF_A%' OR b.parametername LIKE 'RF11_MAX._DIFF_B%'
OR b.parametername LIKE 'RF11_MEAN_A%' OR b.parametername LIKE 'RF11_MEAN_B%'
OR b.parametername LIKE 'RF21_MAX._A%' OR b.parametername LIKE 'RF21_MAX._B%'
OR b.parametername LIKE 'RF21_MEAN_A%' OR b.parametername LIKE 'RF21_MEAN_B%'
OR b.parametername LIKE 'RF21_MEAN_DIFF_A%' OR b.parametername LIKE 'RF21_MEAN_DIFF_B%'
--OR b.parametername LIKE 'RF21_MIN._A%' OR b.parametername LIKE 'RF21_MIN._B%'
OR b.parametername LIKE 'RF21_SD_A%' OR b.parametername LIKE 'RF21_SD_B%'
OR b.parametername LIKE 'RLD3_MEAN_A%' OR b.parametername LIKE 'RLD3_MEAN_B%'
OR b.parametername LIKE 'RLD3_MEAN_DIFF_A%' OR b.parametername LIKE 'RLD3_MEAN_DIFF_B%'
OR b.parametername LIKE 'RR13_MAX._A%' OR b.parametername LIKE 'RR13_MAX._B%'
OR b.parametername LIKE 'RR13_MAX._DIFF_A%' OR b.parametername LIKE 'RR13_MAX._DIFF_B%'
OR b.parametername LIKE 'RR23_MEAN_DIFF_A%' OR b.parametername LIKE 'RR23_MEAN_DIFF_B%'
OR b.parametername LIKE 'RR23_MEAN_SLOPE_A%' OR b.parametername LIKE 'RR23_MEAN_SLOPE_B%'
OR b.parametername LIKE 'RTN3_MEAN_A%' OR b.parametername LIKE 'RTN3_MEAN_B%'
OR b.parametername LIKE 'RTN3_MEAN_DIFF_A%' OR b.parametername LIKE 'RTN3_MEAN_DIFF_B%'
--OR b.parametername LIKE 'SOURCE_COEF_A%' OR b.parametername LIKE 'SOURCE_COEF_B%'
OR b.parametername LIKE 'SRTM_A%' OR b.parametername LIKE 'SRTM_B%'
OR b.parametername LIKE 'SRTM_SLOPE_A%' OR b.parametername LIKE 'SRTM_SLOPE_B%'
OR b.parametername LIKE 'TMP1_MAX._A%' OR b.parametername LIKE 'TMP1_MAX._B%'
OR b.parametername LIKE 'TMP1_MAX._DIFF_A%' OR b.parametername LIKE 'TMP1_MAX._DIFF_B%'
OR b.parametername LIKE 'TMP1_MEAN_A%' OR b.parametername LIKE 'TMP1_MEAN_B%'
--OR b.parametername LIKE 'TMP1_MEAN_DIFF_A%' OR b.parametername LIKE 'TMP1_MEAN_DIFF_B%'
OR b.parametername LIKE 'VOLT_MAX._A%' OR b.parametername LIKE 'VOLT_MAX._B%'
--OR b.parametername LIKE 'VOLT_MAX._DIFF_A%' OR b.parametername LIKE 'VOLT_MAX._DIFF_B%'
OR b.parametername LIKE 'VOLT_MEAN_A%' OR b.parametername LIKE 'VOLT_MEAN_B%'
OR b.parametername LIKE 'VOLT_MEAN_DIFF_A%' OR b.parametername LIKE 'VOLT_MEAN_DIFF_B%'
)

我的代码-sql query的更多相关文章

  1. NHibernate系列文章二十六:NHibernate查询之SQL Query查询(附程序下载)

    摘要 NHibernate在很早的版本就提供了SQL Query(原生SQL查询),对于很复杂的查询,如果使用其他的查询方式实现比较困难的时候,一般使用SQL Query.使用SQL Query是基于 ...

  2. 使用JSTL的sql:query标签制作分页查询遇到NoSuchFieldError: deferredExpression

    参考:http://hi.baidu.com/desyle/item/4fe650265792d7182a0f1c33 症状: 如题所述,代码如下 <sql:query var="re ...

  3. jstl中的sql:query标签获取的结果如何格式化输出

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. .net连接DB2的异常SQL0666 - SQL query exceeds specified time limit or storage limit.错误处理

    SQL0666 - SQL query exceeds specified time limit or storage limit. 原因:查询超时 解决办法: set the DbCommand.C ...

  5. Freebie - Utility Form: Generate Excel Report From SQL Query In Oracle Forms 6i And 11g

    Sharing a form to generate Excel file report from SQL query in Oracle Forms. This form can be used i ...

  6. jasper ireport create a report with parameters without sql query

    I'm new in jasper ireport , and I want to know if it is possible to create a report only with static ...

  7. REP-20147 Cannot implement column link for this detail SQL query. Converting to group link.

    注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力. Lumen Su lzsu1989#gmail.com (#=@) www.cnblogs.com/lzsu198 ...

  8. EntityFramework 学习 一 Execute Native SQL Query

    SQL query for entity types: using (var ctx = new SchoolDBEntities()) { var studentList = ctx.Student ...

  9. Entity Framework Tutorial Basics(39):Raw SQL Query

    Execute Native SQL Query You can execute native raw SQL query against the database using DBContext. ...

随机推荐

  1. Oracle数据库字段数据拆分成多行(REGEXP_SUBSTR函数)

    做多选功能时为了简便,会在某个字段中存储多个值,保存时虽然省事,但后续的查询统计时还需要拆分数据才行,因此这时需要将字段内的值分成多行以便后续使用. 下面这个例子实现了字段内数据的拆分: --创建测试 ...

  2. vue组件的通信

    组件的引入两种方式 动态组件  <p is="com-a"></p> 直接引入 <com-a></com-a> 插槽功能 父组件引入 ...

  3. 安装CaffeOnSpark过程中遇到的问题及解决方案

    安装教程来自 http://blog.csdn.net/sadonmyown/article/details/72781393 首先,我使用的节点环境是ubuntu 16.04.1,事先 成功安装了s ...

  4. L1-062 幸运彩票

    彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的.本题就请你判断给定的彩票是不是幸运的. 输入格式: 输入在第一行中给出一个正整数 N(≤ 10 ...

  5. JDK 1.8 -> 1.7

    电脑刚开始装的是1.8 version, 然后又需要用到1.7. 所以就要把1.8 降为1.7, 网上有很多说把1.8删掉,这种做法我是不建议的,那么要用的时候呢?又得装回来多蛋疼.. JDK 1.8 ...

  6. Java虚拟机学习-Java内存区域(一)

    Java虚拟机内存划分为以下几个区域: 1.方法区:方法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息.常量.静态变量.即时编译器编译后的代码等数据.虽然Java虚拟机规范把方法区描述为 ...

  7. MAC安装flutter开发环境

    #最近在学flutter开发,写一篇记录一下安装的过程 1.配置flutter镜像地址  vim ~/.bash_profile 命令行输入后回车,打开.bash_profile配置镜像地址 expo ...

  8. 使用kermit通过串口升级uboot

    在开发板的启动选项中看到如下两行: 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code ...

  9. java的重写

    重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法 ...

  10. 2017年5月11日17:43:06 rabbitmq 消费者队列

    从昨天开始发现个问题,一个接口在本地调用时大部分正常,一旦在生成者打一个断点调试,并且在promotion也打断点的时候会出现没有返回channel的异常,然后消费者就再也消费不了了 16:57:45 ...