1
  • 投稿 (id_post、タイトル)
  • タグ (id_tag、名前)
  • 投稿タグ (id_post_tag、id_post、id_tag)

id_post 3 に 4 つのリンクされたタグ 1、2、3、4 (サッカー、バスケット、テニス、ゴルフ) があるとします。

このようなものを1行で返す方法はありますか?

  • 列 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

デフォルトのセパレータはコンマであることに注意してください。タグ名の間にスペースを入れたくない場合は、スペースを 1 つ定義する必要があります。

ドキュメンテーション:

于 2010-05-28T18:30:07.263 に答える