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 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值