mysql – SQL查询:获取与post关联的标签

我有三张桌子.

posts
| id      | title     |
+---------+-----------+
| 1       | hello     |
| 2       | goodbye   |
+---------+-----------+

posts_tags
| tag_id  | post_id   |
+---------+-----------+
| 1       | 1         |
| 2       | 1         |
| 2       | 2         |
+---------+-----------+

tags
| id      | name      |
+---------+-----------+
| 1       | news      |
| 2       | photos    |
+---------+-----------+

我希望能够选择帖子,但结果就是这样

post.id    post.title    tags
------------------------------------
1          hello         news,photos
2          goodbye       photos

就像是

SELECT *,GROUP_CONCAT(tags.name) AS tags
FROM posts
    LEFT JOIN posts_tags
        ON posts.id = posts_tags.post_id
    LEFT JOIN tags
        ON posts_tags.tag_id = tags.id

似乎没有正常工作.请指教,谢谢你的时间:)
最佳答案
更好的方法是将标签另外存储在posts表中的字符串中,以防止其他连接和分组.就像性能非规范化一样.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。