Home >Backend Development >PHP Tutorial >请教sql语句,多表查询一对多分页

请教sql语句,多表查询一对多分页

WBOY
WBOYOriginal
2016-06-23 13:57:301255browse

    三张表

    题目表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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn