mybatis choose when用法

mybatis choose when的用法:
mapper.xml:

这里写图片描述

<select id="query" resultType="map" parameterType="map">
        select 
            <choose>
                <when test="cityId == '00' ">
                       a.city_id as CITYID,
                </when>
                <otherwise>
                    <choose>
                       <when test="cityId == '0001' and statsDimension==1">
                            a.level1_maintain_unit_id as CITYID,
                       </when>
                       <otherwise>
                            a.county_id as CITYID,
                       </otherwise>
                    </choose>
                 </otherwise>
         </choose>
                   sum(ONUNUM) as ONUNUM, 
                   sum(ONTNUM) as ONTNUM
            from new_olt_upopt_sp_month_${tableDate} a
            where 1 = 1
                <if test="cityId == '0001' and statsDimension==1">
                and a.city_id = '0001'
                </if>
                <![CDATA[and a.gather_time >= ${startDate}]]>
                <![CDATA[and a.gather_time <= ${endDate}]]>   
                  group by
        <choose>
                <when test="cityId == '00' ">
                       a.city_id
                </when>
                <otherwise>
                    <choose>
                       <when test="cityId == '0001' and statsDimension==1">
                            a.level1_maintain_unit_id
                       </when>
                       <otherwise>
                            a.county_id
                            having a.county_id in 
                                (select city_id from tab_city 
                                    where  city_id= #{cityId} or parent_id=#{cityId})
                       </otherwise>
                    </choose>
                 </otherwise>
         </choose>            
    </select>

猜你喜欢

转载自blog.csdn.net/shannon8/article/details/71106855
今日推荐