加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-11 23:42:49 所属栏目:MySql教程 来源:网络整理
导读:我有三张桌子. posts| id | title |+---------+-----------+| 1 | hello || 2 | goodbye |+---------+-----------+posts_tags| tag_id | post_id |+---------+-----------+| 1 | 1 || 2 | 1 || 2 | 2 |+---------+-----------+tags| id | name |+---------+-

我有三张桌子.

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表中的字符串中,以防止其他连接和分组.就像性能非规范化一样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读