我在mysql数据库中有2个表("评论"和"回复")
他们有模式:
comments: id,userId,text
replies: id,userId,commentId,text
我需要一个mysql查询来获取评论表中的所有评论,并在每个评论之后,回复表中的相应回复......
所以如果我们在回复表中有[comment 1] and [comment 2] in the comments table, and [reply 1] (to comment 1) and [reply 2] (to comment2)
[comment 1]
[reply 1]
[comment 2]
[reply 2]
答案 0 :(得分:2)
您需要加入两个表格&然后根据commentID& amp;多个回复的replyID。
在下面我为原始评论添加了一个0的虚拟replyID。使用UNION ALL连接表。请注意,我已重命名评论表的原始ID列&回复id,这样他们就不会发生冲突。
SELECT id commentID, userID, text, 0 replyID FROM test.comments
UNION ALL
SELECT commentID, userID, text, id replyID FROM test.replies
ORDER BY commentID, replyID;