zoukankan      html  css  js  c++  java
  • hibernate

    因为3.5.5因为不支持:=形式

    新建函数

    DROP FUNCTION IF EXISTS `getAllRate`;
    DELIMITER ;;
    CREATE  FUNCTION `getAllRate`(batchNo varchar(200) , opId varchar(200), sName varchar(200)) RETURNS varchar(200)
    BEGIN
    DECLARE allRateReturn decimal(6,3);
    set allRateReturn = (
    SELECT
        allRate
    FROM
        (
            SELECT
                max(d.opName) AS opName,
                max(d.scrapQty) AS scrapQty,
                max(d.scrapName) AS scrapName,
                max(d.finishQty) AS finishQty,
                max(d.ngRate) AS ngRate,
                max(d.batchNo) AS batchNo,
                ROUND(sum(e.scrapQty) / max(d.totalScrapQty), 4) * 100 AS allRate
            FROM
                (
                    SELECT
                        @rownum :=@rownum + 1 AS rownum,
                        a.*, c.*
                    FROM
                        (
                            SELECT
                                op.OP_NAME AS opName,
                                sum(s.SCRAP_CELL_QTY) AS scrapQty,
                                s.SCRAP_NAME AS scrapName,
                                round(nvl(SUM(o.FINISH_QTY), 0), 0) AS finishQty,
                                round(sum(s.SCRAP_CELL_QTY) /(sum(s.SCRAP_CELL_QTY) + nvl(SUM(o.FINISH_QTY), 0)), 4) * 100 AS ngRate,
                                s.BATCH_NO AS batchNo
                            FROM
                                tt_wo_batch_scrap s
                            LEFT JOIN tm_operation op ON op.PK_ID = s.OP_ID
                            LEFT JOIN tt_wo_order o ON o.BATCH_NO = s.BATCH_NO
                            AND o.OP_ID = s.OP_ID
                            WHERE
                                s.DEL_FLAG = '0'
                            AND s.BATCH_NO = batchNo
                            AND s.OP_ID = opId
                            GROUP BY
                                s.SCRAP_NAME
                            ORDER BY
                                s.SCRAP_CELL_QTY DESC
                        ) a,
                        (SELECT @rownum := 0) t,
                        (
                            SELECT
                                sum(s.SCRAP_CELL_QTY) AS totalScrapQty
                            FROM
                                tt_wo_batch_scrap s
                            WHERE
                                s.DEL_FLAG = '0'
                            AND s.BATCH_NO = batchNo
                            AND s.OP_ID = opId
                        ) c
                ) d
            LEFT JOIN (
                SELECT
                    @rownum2 :=@rownum2 + 1 AS rownum,
                    a.*
                FROM
                    (
                        SELECT
                            sum(s.SCRAP_CELL_QTY) AS scrapQty
                        FROM
                            tt_wo_batch_scrap s
                        WHERE
                            s.DEL_FLAG = '0'
                        AND s.BATCH_NO = batchNo
                        AND s.OP_ID = opId
                        GROUP BY
                            s.SCRAP_NAME
                        ORDER BY
                            s.SCRAP_CELL_QTY DESC
                    ) a,
                    (SELECT @rownum2 := 0) t
            ) e ON d.rownum >= e.rownum
            GROUP BY
                d.rownum
            ORDER BY
                d.rownum ASC
        ) rt
    WHERE
        rt.scrapName = sName
    );
    RETURN ROUND(allRateReturn,4);
    END
    ;;

  • 相关阅读:
    异常处理的设计和重构学习一
    设计模式之禅之六大设计原则-里氏替换原则
    设计模式之禅之六大设计原则-单一职责原则
    swagger-ui生成api文档并进行测试
    功能强大的swagger-editor的介绍与使用
    swagger-codegen自动生成代码工具的介绍与使用
    Swagger使用教程大全,从入门到精通
    Linux下MySQL的数据文件存放位置
    JUC组件扩展(三):BlockingQueue(阻塞队列)详解
    http_load的安装及使用方法
  • 原文地址:https://www.cnblogs.com/cdcr/p/9553917.html
Copyright © 2011-2022 走看看