mysql中嵌套的select语句

时间:2016-06-12 20:04:14

标签: mysql sql select

我有两个表,一个消息和一个评论部分。消息可以有很多注释,但注释只能有一条消息。我正在尝试编写一个sql select语句,该语句将返回消息以及在一行中引用该消息的所有注释。有没有办法在mysql中做到这一点?我该怎么做呢注释具有消息id,该消息id是与消息的id相关的外键。这是我的ERD图

enter image description here

2 个答案:

答案 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