关于Mybatis的关联查询之同一张表关联两次且查询相同字段的详解(mysql数据库)

在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表的结构如下图所示,需要获取同一表中相同字段的不同内容。特别是在封装数据的时候注意每个字段代表什么意思。
关于Mybatis的关联查询之同一张表关联两次且查询相同字段的详解(mysql数据库)_第1张图片

你可能感兴趣的:(mysql,java)