A表的id字段是以'1,2,3,4,5'...这样的形式存的,它关联字典表B的id字段,此时需求是要查出name
SQL:
SELECT
a.id,
(
SELECT
GROUP_CONCAT(t.NAME)
FROM
test t
WHERE
FIND_IN_SET(
t.id,
a.fixedAssetClass
)
)name
FROM
table a
WHERE
a.id = '123'还有一种情况会用到循环。
SQL:
SELECT
a.*
FROM table a
........
where a.id in
<foreach collection="arr" item="item" index="index"
open="(" separator="," close=")">#{item}</foreach>
GROUP BY a.id
本文介绍两种使用SQL进行复杂查询的方法。一种是通过`GROUP_CONCAT`和`FIND_IN_SET`函数来实现多对多关系的数据查询;另一种是利用MyBatis的`<foreach>`标签实现参数集合的遍历查询。
1万+

被折叠的 条评论
为什么被折叠?



