在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表的结构如下图所示,需要获取同一表中相同字段的不同内容。特别是在封装数据的时候注意每个字段代表什么意思。
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐