选择GROUP_CONCAT的多对多关系

时间:2011-11-17 21:55:55

标签: mysql sql many-to-many

我有3张桌子 后,标签,tags_relationship

post:
  post_id, post_title....
tags:
  tag_id, tag_name...
tags_relationship:
 tag_rel_id, tag_rel_post_id, tag_rel_tag_id

我如何通过tags_relationship表格为每个帖子选择带有标签的所有帖子(tag1,tag2,...)?

1 个答案:

答案 0 :(得分:5)

回答,因此问题可以解决。

解决方案


SELECT 
    p.*, 
    GROUP_CONCAT(t.tag_name) tagged 
FROM 
    tags_relation tr   
    INNER JOIN posts p ON p.post_id = tr.rel_post_id   
    INNER JOIN tags t ON t.tag_id = tr.rel_tag_id 
GROUP BY 
    p.post_id