부분 sql 구문
4696 단어 sql 구문
http://blog.csdn.net/luqin1988/article/details/7831927
방식 1.수정
<select id="getExchangeRecordsInPeriod" resultMap="exchangeRecordVOResultMap">
SELECT ter.*, tu.nick_name FROM t_exchange_record ter left join t_user
tu on ter.fk_anchor = tu.fk_origin_user
WHERE
1=1
<if test="userId > 0">
and fk_anchor = #{userId}
</if>
<if test="status >= 0">
and state = #{status}
</if>
<if test="start != null and end != null">
and create_date between #{start} and #{end}
</if>
order by create_date desc
limit #{offset}, #{limit}
</select>
<!-- count -->
<select id="countExchangesInPeriod" resultType="int">
SELECT count(1)
FROM t_exchange_record
WHERE 1=1
<if test="userId > 0">
and fk_anchor = #{userId}
</if>
<if test="status >= 0">
and state = #{status}
</if>
<if test="start != null and end != null">
and create_date between #{start} and #{end}
</if>
</select>
방식
<sql id="anchorViewForPage">
and a.fk_manager_id in <foreach item="item" index="index" collection="search.managerList" open="(" separator="," close=")">#{item}</foreach>
<if test="search.nickName !=''">
and t.nick_name like CONCAT('%',#{search.nickName},'%')
</if>
<if test="search.managerId > -1">
and a.fk_manager_id = #{search.managerId}
</if>
<if test="search.userStatus>-1">
AND t.user_status = #{search.userStatus}
</if>
<if test="search.anchorType>-1">
AND a.fk_anchor_type = #{search.anchorType}
</if>
<if test="search.proxy>-1">
AND a.fk_proxy_code = #{search.proxy}
</if>
<if test="search.roomId>-1">
AND room.pk_room = #{search.roomId}
</if>
<if test="search.bank > -1">
<choose>
<when test="search.bank == 1">
AND ( a.bank IS NULL
OR a.bank = ""
OR a.deposit_bank IS NULL
OR a.deposit_bank = ""
OR a.deposit_bank_address IS NULL
OR a.deposit_bank_address = ""
OR a.bank_card_number IS NULL
OR a.id_number IS NULL
OR a.bank_account_holder IS NULL)
</when>
<when test="search.bank == 0">
AND ( a.bank IS NOT NULL
AND a.bank != ""
AND a.deposit_bank IS NOT NULL
AND a.deposit_bank != ""
AND a.deposit_bank_address IS NOT NULL
AND a.deposit_bank_address != ""
AND a.bank_card_number IS NOT NULL
AND a.id_number IS NOT NULL
AND a.bank_account_holder IS NOT NULL
AND a.bank_account_holder != "")
</when>
</choose>
</if>
</sql>
<select id="getAnchorViewListByPage" resultMap="ddshowUserWithAnchorDetail">
<![CDATA[
SELECT a.*,
t.nick_name as nick_name,
t.email,
t.mobile,
t.fk_origin_user,
t.user_status
FROM t_user AS t
LEFT JOIN t_anchor_detail AS a ON t.fk_origin_user = a.fk_user
left join t_room room on t.fk_origin_user=room.fk_user
WHERE t.is_anchor = 1
]]>
<include refid="anchorViewForPage"/>
group by room.fk_user LIMIT #{offset},#{limit}
</select>