• SQL 建立临时表进行查询


    SELECT
        min (maxrank) as minofmaxrank
    FROM
        (SELECT
            max(rank) as maxrank
        FROM
            tbl_core_staff
        WHERE
            st_ymd<=now() AND
            ed_ymd>now() AND
            staff_cd in ('','','','','','','','','','','','','','','','','','','')
        GROUP BY
            staff_cd
        ) t1
    

     这里是先从tbl_core_staff 表查询分组的最大值的rank 然后查询这个最大值rank组的最小值

    用其他表和子表进行联合查询:

        SELECT
            *
             FROM  
                bbb INNER JOIN 
                ( SELECT  
                    a1,
                    inner_cd,
                   MAX( case when .aaa.SLIDE_SEQ = 1 THEN SLIDE_QTY  END  )as SLIDE_QTY1,
                    MAX( case when .aaa.SLIDE_SEQ = 2 THEN SLIDE_QTY  END  )as SLIDE_QTY2,
                    MAX( case when .aaa.SLIDE_SEQ = 3 THEN SLIDE_QTY  END  )as SLIDE_QTY3,
                    MAX( case when .aaa.SLIDE_SEQ = 4 THEN SLIDE_QTY  END  )as SLIDE_QTY4
                FROM
                    aaa
                WHERE 
                    aaa.a1 = 'ADDM01-20160612-1-100002-001'   AND 
                    aaa.subsidiary_cd = 'MJP' AND 
                    aaa.sub_a1 = '1'
                GROUP BY 
                    aaa.inner_cd,
                    aaa.a1
                )  tmp1 on  bbb.inner_cd = tmp1.inner_cd
                
            WHERE 
                    bbb.a1 = #{ankenId,jdbcType=VARCHAR}  AND
                    bbb.subsidiary_cd = #{subsidiaryCd,jdbcType=VARCHAR} AND
                    bbb.sub_a1 = #{subAnkenId,jdbcType=VARCHAR} AND
        ORDER BY
                    bbb.subsidiary_cd ASC,
                    bbb.brand_cd ASC,
                    bbb.product_cd ASC 
  • 相关阅读:
    PostMessage
    __stdcall
    C++中L和_T()之区别
    号外:百度开源了它的人工智能技术
    最棒的Unity Github 项目收集(2016)
    OpenGL学习笔记——求值器和NURBS
    unity3d四元数和旋转矩阵
    C# System.Timers.Time
    进程地址空间分布
    子进程与父进程
  • 原文地址:https://www.cnblogs.com/sunxun/p/3953335.html
Copyright © 2020-2023  润新知