查询的时候,可以使用表的别名
可以把一个,或者多个查询的结果,起一个别名
当作一个表,接着进行其他查询操作
Mapper
List<AnnualPlanExt> selectExtPagedList(Page<AnnualPlanExt> page, HashMap<String, Object> map);
Mapper.xml
<select id="selectExtPagedList" parameterType="hashMap" resultMap="BaseResultMapExt">
SELECT
A.*,B.NAME LABORATORY_NAME,C.TEST_OBJECT_NAME TEST_OBJECT_NAME ,D.CUST_NAME CUSTOMER_NAME, E.CUST_NAME TESTED_UNIT_NAME
FROM
(
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from BIZ_ANNUAL_PLAN
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
<if test="start != null and end !=null ">
limit #{start} , #{end}
</if>
) A
LEFT JOIN
(
SELECT ID,NAME FROM RES_LABORATORY
<if test="laboratoryId != null">
WHERE ID = #{laboratoryId}
</if>
) B
ON A.LABORATORY_ID = B.ID
LEFT JOIN
(
SELECT ID,TEST_OBJECT_NAME FROM DIC_TEST_OBJECT
<if test="testObjectId != null">
WHERE ID = #{testObjectId}
</if>
) C
ON A.TEST_OBJECT_ID = C.ID
LEFT JOIN
(
SELECT ID,CUST_NAME FROM V_CRM_CUSTOMER
<if test="customerId != null">
WHERE ID = #{customerId}
</if>
) D
ON A.CUSTOMER_ID = D.ID
LEFT JOIN
(
SELECT ID,CUST_NAME FROM V_CRM_CUSTOMER
<if test="testedUnitId != null">
WHERE ID = #{testedUnitId}
</if>
) E
ON A.TESTED_UNIT_ID = E.ID
</select>