Heim >Backend-Entwicklung >PHP-Tutorial >请教sql语句,多表查询一对多分页

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

WBOY
WBOYOriginal
2016-06-23 13:57:301230Durchsuche

    三张表

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn