我有两个表,一个消息和一个评论部分。消息可以有很多注释,但注释只能有一条消息。我正在尝试编写一个sql select语句,该语句将返回消息以及在一行中引用该消息的所有注释。有没有办法在mysql中做到这一点?我该怎么做呢注释具有消息id,该消息id是与消息的id相关的外键。这是我的ERD图
答案 0 :(得分:1)
您可以使用group_concat
功能:
SELECT message, GROUP_CONCAT(comment SEPARATOR ';') AS all_comments
FROM messages m
JOIN comments c ON m.id = c.message_id
GROUP BY m.id, message
答案 1 :(得分:1)
您应该使用group_concat,对于group_concat,您需要分组
SELECT message, GROUP_CONCAT(comment SEPARATOR ';') as comments
FROM messages
JOIN comments ON messages .id = comments .message_id
GROUP By message