1
  • 帖子(id_post,标题)
  • 标签(id_tag,名称)
  • post_tag (id_post_tag, id_post, id_tag)

假设 id_post 3 有 4 个链接标签 1、2、3、4(足球、篮球、网球和高尔夫)。

有没有办法在一行中返回这样的东西?

  • col 1 id_post = 3
  • col 2标签=足球篮网球高尔夫

谢谢

4

1 回答 1

2

采用:

  SELECT p.id_post
         GROUP_CONCAT(DISTINCT t.name SEPARATOR ' ')
    FROM POST p
    JOIN POST_TAG pt ON pt.id_post = p.id_post
    JOIN TAG t ON t.id_tag = pt.id_post_tag
GROUP BY p.id_post

请注意,默认分隔符是逗号,因此如果您不想在标签名称之间定义一个空格,则必须定义一个空格。

文档:

于 2010-05-28T18:30:07.263 回答