gpt4 book ai didi

sql - MySQL问题: Merging multiple results/rows caused by n-m

转载 作者:行者123 更新时间:2023-11-29 09:20:18 25 4
gpt4 key购买 nike

我现在几乎尽了一切努力来解决以下问题。到目前为止还没有成功。但一定有一个解决方案,因为我不认为这个案子太特殊。我想我只是一个该死的初学者;-)我需要加入联合合并或其他;-)在MySQL中解决以下问题...

案例:三个表“posts”、“tagmap”和“tags”

tagmap 表存储所有 n-m 个关系:帖子的 id 和标签的 id
tags 表存储 tag_nametag id
posts 表存储 post_titlepost_id

 posts    post_id    post_title
1 Charlie Chaplin Painting

tagmap id post_id tag_id
100 1 12
101 1 13
102 1 14

tags tag_id tag_name
12 Acryl
13 Chalk
14 Poster

我想要实现的是获得如下结果,其中所有相关标签都合并在一列中。通过逗号分隔列表或空格:
post_id => 1, post_title => 查理·卓别林... tag_name => 亚克力、粉笔、海报

但到目前为止我唯一能得到的是像这样的多重结果:
post_id => 1,post_title => 查理·卓别林... tag_name => Acryl
post_id => 1,post_title => 查理·卓别林... tag_name => 粉笔
post_id => 1、post_title => 查理·卓别林... tag_name => 海报

有谁知道如何实现这一点...任何帮助都将受到高度赞赏,并提前感谢所有可以帮助我解决这个问题的人;-)

最佳答案

用途:

  SELECT p.post_id,
p.post_title,
GROUP_CONCAT(t.tag_name ORDER BY t.tag_name SEPARATOR ', ')
FROM POSTS p
JOIN TAGMAP tm ON tm.post_id = p.post_id
JOIN TAGS t ON t.tag_id = tm.tag_id
GROUP BY p.post_id, p.post_title

引用:

关于sql - MySQL问题: Merging multiple results/rows caused by n-m,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com