我有一个表(员工),其列值如下所示:
SERIAL_NO EMPLOYEE_ID
~~~~~~~~~ ~~~~~~~~~
01 1234,1235,1236
02 1238,1232,1234
03 1223,1233,1254
04 1212,1212,1211
我想获取此特定值并将其传递给另一个查询的IN子句 - 在iBatis中:比如说,
从employee_id所在的地址中选择address_line1(从员工中选择employee_id,其中serial_no =#SERIALNO#)
我能够从内部查询中获取值,并在另一个ibatis查询中单独将其作为列表传递。我可以在ibatis的单个查询中实现这一点吗?
我是如何在ibatis中尝试的 - 我得到了内部查询的输出并将其作为列表并传递到第二个ibatis查询中:
<resultMap id="ADDRESS_RESULT_MAP" class="java.util.HashMap">
<result property="ADDRESS_LINE" nullValue="" column="ADDRESS_LINE1" javaType="java.lang.String" jdbcType="VARCHAR"/>
</resultMap>
<select id="ADDRESS_SELECT_DETAILS" resultMap="ADDRESS_RESULT_MAP">
select address_line1 from address where employee_id in
<iterate property="EMPLOYEE_ID" open="(" close=")" conjunction=",">
#EMPLOYEE_ID[]#
</iterate>
</select>