一对多时 Mybatis 的分页方案

查看 27|回复 1
作者:abc9999   
一个 blog 表,一个 attachment 表,一个 blog 对应多个 attachment.
主表是 blog ,
如果查询条件只过滤 blog ,那分页很简单。
如果查询条件同时过滤 blog 和 attachment ,应该怎么优雅的分页?
目前想到的方案是:
sql1:
select distinct blog.id
from blog left join attachment
where 查询条件
limit 分页,
(得到分页后的主表 blog 的 id 集合)
sql2:
select blog.*, attachment.*
from blog left join attachment
where 查询条件
and blog.id in (sql1 查出来的 id)
有点麻烦,想问问 v 友们有没有优雅的方案?

blog, attachment, 分页, 主表

nerkeler   
select blog2.xxx ,atta.xxx from (select blog.id ,... where xxx limit) blog2 left join att... 先把 blog 表查出来分页结果,当做主查询的临时查询表,再去关联 atta 表
您需要登录后才可以回帖 登录 | 立即注册

返回顶部