mysql 查询所有评论以及回复
问题描述
表设计如下
question(id, user_id,content)answer (id,question_id,user_id,content)reply (id,answer_id, user_id,content)
请问要怎么一次性查询所有的评论和回复啊目前用group by和group_concat实现不了额..
问题解答
回答1:我理解:question是问题表,罗列所有的提问answer 是回复表,对某个具体问题的回复,用question_id与question表中的id做关联reply 是对某个回复的评论,用answer_id与answer表中的id做关联以下代码,基于以上理解
select t1.q_id as 问题id, t1.q_user_id as 提问者id, t1.q_content as 问题内容, t2.a_id as 回复id, t2.a_user_id as 回复者id, t2.a_content as 回复内容, t3.r_id as 评论id, t3.r_user_id as 评论者id, t3.r_content as 评论内容from (select id as q_id ,user_id as q_user_id ,content as q_contentfrom question) t1 -- 所有的问题列表,用id做唯一性的区分left outer join(select id as a_id ,question_id ,user_id as a_user_id ,content as a_contentfrom answer) t2on t1.q_id = t2.question_id -- 每个question_id对应的回复left outer join(select id as r_id ,answer_id ,user_id as r_user_id ,content as r_content) t3 on t2.a_id = t3.answer_id -- 每个answer_id对应的评论回答2:
select reply.,answer.,question.* fromreply right join answer onreply.answer_id = answer.I’dright join question onanswer.question_id = question.idWhere question.id =(查找的question.id)
相关文章:
1. 无法为JSP编译类:无法解析类型java.util.Map $ Entry。从所需的.class文件间接引用它2. vue.js - android环境下在vue中引入vux.js 报错。3. mysql - 仅仅只是把单引号与反斜杠转义不用prepare statement能否避免sql注入?4. javascript - 一排三个框,各个框的间距是15px,距离外面的白框间距也是15px,这个css怎么写?5. java - springboot 修改默认静态资源文件读取路径6. 用python3的smtplib库发邮件一直返回无法发送邮件提示,是什么原因?7. 第6行的$_GET[’F’]没有定义啊?求问一下是什么意思?8. javascript - 怎样优化网页打开速度呢?9. python - pysciter 如何配置运行环境?10. python - flask jwt request 401, 提示header错误,该怎么写

网公网安备