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. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?2. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題3. html5 - HTML代碼中的文字亂碼是怎么回事?4. 視頻文件不能播放,怎么辦?5. javascript - vue2如何獲取v-model變量名6. javascript - 求幫助 , ATOM不顯示界面!!!!7. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. javascript - 為什么在谷歌控制臺 輸出1的時候,輸出的1立馬就不見了9. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示10. javascript - ios返回不執行js怎么解決?
