请教sql语句,多表查询一对多分页
程序员文章站
2022-04-24 14:12:31
...
三张表
题目表topic,字段 to_id to_title
知识点表tag,字段t_id t_title
关联表relation,字段to_id t_id
每个题目可以有多个知识点
现web界面提供搜索框,每页10个小题,用户可以多选知识点,遇到的问题是,有重复的数据的
现在的情况是,如果知识点1,2,3都是对应to_id为1的,那么就会出现3道一样题目。可如果去掉重复的话,那么又和每页10条相悖了,特向前辈请教相关sql语句,不甚感激!!!
题目表topic,字段 to_id to_title
知识点表tag,字段t_id t_title
关联表relation,字段to_id t_id
每个题目可以有多个知识点
现web界面提供搜索框,每页10个小题,用户可以多选知识点,遇到的问题是,有重复的数据的
select topic.to_id,topic.to_title from topic,relation where ( topic.to_id = relation.to_id ) and (t_id in (1,2,3));
现在的情况是,如果知识点1,2,3都是对应to_id为1的,那么就会出现3道一样题目。可如果去掉重复的话,那么又和每页10条相悖了,特向前辈请教相关sql语句,不甚感激!!!
回复讨论(解决方案)
select distinct( topic.to_id,topic.to_title) from topic,relation ,tag where ( topic.to_id = relation.to_id ) and (t_id in (1,2,3)) limit 0,10;
用group by