SELECT * FROM cms_contentindex i LEFT JOIN cms_content3 c USING(tid) 
left join cms_contenttag t on t.tid=i.tid 
LEFT JOIN cms_tags s on t.tagid=s.tagid 
WHERE i.ifpub=1 AND i.mid='3' AND cid IN(4) 
ORDER BY i.hits desc LIMIT 0,30 这个查询是对的,但是还有一个问题,因为cms_contenttag里面可能会有多条记录对应cms_contentindex,所以我要去除多余的记录,然后增加一个字段,内容就是所有重复记录的tagname这个字段以","连接起来

解决方案 »

  1.   

    用GROUP_CONCAT就可以了,只要TID、tagname两个字段?
      

  2.   

    cms_contentindex,cms_content3的所有字段,连接tagname这个字段GROUP_CONCAT不知道怎么用
      

  3.   

    谢谢提醒,我用GROUP_CONCAT自己搞定了
      

  4.   

    简单示例:
    select cms_contentindex,cms_content3的所有字段,group_concat(DISTINCT tagname SEPARATOR ',')
    from (上述查询) a1
    group by cms_contentindex,cms_content3的所有字段