在mybatis中使用左关联查询获取数据时遇到同一张表关联两次的情况,不多说,直接上代码
<!--根据apply_userid(申请人)查询该用户所有的知识产权申请的信息-->
<select id="intellectualInfo" parameterType="Integer" resultType="java.util.Map">
select
kia.id, kia.business_id, kia.name, kia.type,
sd.name as typeName, sdt.name as stateName,
kia.state, kia.file_id, kia.apply_userid,
kia.participate_user, kia.apply_date,
kia.assess_userid, kia.assess_date, kia.intellectual_desc
from
kpi_intellectual_act kia
left join
sys_dict sd
on
sd.value = kia.type and sd.type = "intellectual_type"
left join
sys_dict sdt
on
sdt.value = kia.state and sdt.type = "intellectual_state"
where
apply_userid = #{applyUserId}
</select>
sys_dict表的结构如下图所示,需要获取同一表中相同字段的不同内容。特别是在封装数据的时候注意每个字段代表什么意思。