Ⅰ. ORACLE WHERE 字句里面使用CASE WHEN 25行
Ⅱ. 嵌套使用 CASE WHEN 2~13行
1 SELECT 2 SUM ( CASE WHEN M.MV_AVG < 800 AND C.THICKNESS >= 0.5 AND C.THICKNESS <= 0.9 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R1CD , -- 1区间内长度/炉区速度 3 SUM ( CASE WHEN M.MV_AVG < 800 AND C.THICKNESS > 0.9 AND C.THICKNESS <= 1.3 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R2CD , -- 2区间内长度/炉区速度 4 SUM ( CASE WHEN M.MV_AVG < 800 AND C.THICKNESS > 1.3 AND C.THICKNESS <= 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R3CD , -- 3区间内长度/炉区速度 5 SUM ( CASE WHEN M.MV_AVG < 800 AND C.THICKNESS > 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R4CD , -- 4区间内长度/炉区速度 6 SUM ( CASE WHEN M.MV_AVG >= 800 AND M.MV_AVG < 830 AND C.THICKNESS >= 0.5 AND C.THICKNESS <= 0.9 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R5CD , -- 5区间内长度/炉区速度 7 SUM ( CASE WHEN M.MV_AVG >= 800 AND M.MV_AVG < 830 AND C.THICKNESS > 0.9 AND C.THICKNESS <= 1.3 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R6CD , -- 6区间内长度/炉区速度 8 SUM ( CASE WHEN M.MV_AVG >= 800 AND M.MV_AVG < 830 AND C.THICKNESS > 1.3 AND C.THICKNESS <= 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R7CD , -- 7区间内长度/炉区速度 9 SUM ( CASE WHEN M.MV_AVG >= 800 AND M.MV_AVG < 830 AND C.THICKNESS > 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R8CD , -- 8区间内长度/炉区速度 10 SUM ( CASE WHEN M.MV_AVG >= 830 AND C.THICKNESS >= 0.5 AND C.THICKNESS <= 0.9 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R9CD , -- 9区间内长度/炉区速度 11 SUM ( CASE WHEN M.MV_AVG >= 830 AND C.THICKNESS > 0.9 AND C.THICKNESS <= 1.3 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R10CD , -- 10区间内长度/炉区速度 12 SUM ( CASE WHEN M.MV_AVG >= 830 AND C.THICKNESS > 1.3 AND C.THICKNESS <= 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R11CD , -- 11区间内长度/炉区速度 13 SUM ( CASE WHEN M.MV_AVG >= 830 AND C.THICKNESS > 1.6 THEN ( CASE WHEN D.MV_AVG = 0 OR D.MV_AVG IS NULL THEN 0 ELSE P.LENGTH / D.MV_AVG END ) END ) R12CD -- 12区间内长度/炉区速度 14 FROM PRODCOIL_MV M , ( SELECT M.PCOIL_SID , M.MV_AVG FROM PRODCOIL_MV M WHERE M.QDR_CHAN = 1 AND M.PRODUCT_LINE = ' CGL1 ' ) D ,PRODCOILS P ,COILS C ,PRODCOILS_SOURCES S 15 WHERE M.PCOIL_SID = P.PCOIL_SID 16 AND P.PCOIL_SID = S.PCOIL_SID 17 AND S.COIL_SID = C.COIL_SID 18 AND M.PCOIL_SID = D.PCOIL_SID 19 AND P.DUMMY_COIL = 0 20 AND M.PRODUCT_LINE = ' CGL1 ' 21 AND P.PRODUCT_LINE = ' CGL1 ' 22 AND C.PRODUCT_LINE = ' CGL1 ' 23 AND S.PRODUCT_LINE = ' CGL1 ' 24 25 AND M.QDR_CHAN = ( CASE WHEN ' CGL1 ' = ' CGL1 ' THEN 521 ELSE 531 END ) 26 AND P.PROD_DAY BETWEEN TO_DATE( ' 2014-12-01 ' , ' YYYY-MM-DD ' ) AND TO_DATE( ' 2014-12-31 ' , ' YYYY-MM-DD ' )