<select id="getCarData" parameterType="SqlParam" resultType="ImsDailyAchieveDTO">
select * from (
select
stat_date updatedDate,
ind_code indCode,
decode(sum(data_d_den),0,0,sum(data_d_num)/sum(data_d_den)) dataD,
<choose>
<when test='code=="002" or code=="003" '>
</when>
<otherwise>
</otherwise>
</choose>
from ims
where code =#{code}
<if test="filterIsEmpty==1">
<if test="customerList !=null and customerList.size >0>
and costomer_code in
<foreach collection="costomerList" item="customer" index="index" open="(" close=")" separator=",">
#{customer}
</foreach>
</if>
<choose>
<when test='code=="012" or code =="011" '>
<if test="deptList !=null and deptList .size >0>
and dept_code in
<foreach collection="deptList " item="dept" index="index" open="(" close=")" separator=",">
#{dept}
</foreach>
</if>
<if test="deptList == null or deptList== 0">
and dept_code='0'
</if>
</when>
<otherwise>
<if test="channelList !=null and channelList .size >0>
and channel_code in
<foreach collection="channelList " item="channel" index="index" open="(" close=")" separator=",">
#{channel}
</foreach>
</if>
</otherwise>
</choose>
</if>
group by stat_date,ind_code
order by stat_date desc
) where rownum =1
</select>
------------------------case ....when------------------------
<select id ="" parameterType="" resultType="">
select
channel_code,
case
when #{dataType}='D' then sum(data_d)
when #{dataType}='M' then sum(data_m)
when #{dataType}='Y' then sum(data_y)
end as yoy
from ims
where ind_code =#{code}
</select>