我有3个MYSQL表:
帖子
post_id post_name post_date
1 Hello 2013-04-23
2 Goodbye 2013-04-24
用户
user_id user_name
1 Danny
2 Max
评论
comment_id user_id post_id comment_text comment_date
1 1 1 Really good 2013-04-23
2 2 2 Really bad 2013-04-24
3 2 2 Just joking 2013-04-24
我的目标是显示多个帖子行,其中包含多个评论(已与user_id,user_name& comment_text&以及分隔符分隔)。
这样的事情:
结果
Post id Post name Comments
1 Hello 1,Danny,Really good
1 Goodbye 2,Max,Really bad|2,Max,Just joking
我几个小时都在寻找这个例子。任何有关MYSQL查询的帮助都将非常感谢!感谢。
答案 0 :(得分:2)
您可以在GROUP_CONCAT
中使用CONCAT这样的事情: -
SELECT a.post_id, a.post_name, GROUP_CONCAT(CONCAT_WS(",", c.user_id, c.user_name, b.comment_text) SEPARATOR "|")
FROM Posts a
INNER JOIN Comments b ON a.post_id = b.post_id
INNER JOIN Users c ON b.user_id = c.user_id
GROUP BY a.post_id, a.post_name