1、 有三張資料表 questions(id,user_id,content,time),answers(id,q_id,user_id,content,status,time),users(id,name,···) 問題表,回答表和使用者表。問題表的回答記錄在answers表裡,問題表和回答表的user資訊在users表裡面;
2、 現在需要得到:所有問題的內容和該問題的提問者的姓名+回答的人以及回答的內容,回答只需要最近一條回答,狀態status為1 ;
3、 用CI架構寫出查詢的方法 join();
4、 或者寫出sql,不一定是完全的sql,告訴思路也可以;
【另外】
主要問題是:不能完全得出提問者的姓名,和回答者的姓名。是不是資料表設計的有問題?
還有就是: 有更好的辦法直接sql查詢出結果不用再用程式對取出的結果進行處理才得到自己想要的資料?
回複內容:
1、 有三張資料表 questions(id,user_id,content,time),answers(id,q_id,user_id,content,status,time),users(id,name,···) 問題表,回答表和使用者表。問題表的回答記錄在answers表裡,問題表和回答表的user資訊在users表裡面;
2、 現在需要得到:所有問題的內容和該問題的提問者的姓名+回答的人以及回答的內容,回答只需要最近一條回答,狀態status為1 ;
3、 用CI架構寫出查詢的方法 join();
4、 或者寫出sql,不一定是完全的sql,告訴思路也可以;
【另外】
主要問題是:不能完全得出提問者的姓名,和回答者的姓名。是不是資料表設計的有問題?
還有就是: 有更好的辦法直接sql查詢出結果不用再用程式對取出的結果進行處理才得到自己想要的資料?
SELECT tmpu.uname q_unames, q.content, q.`status`, a.content acontent, u.uname auname from u_questions q, (SELECT id,uname from u_users) tmpu, u_answers a LEFT JOIN u_users u ON u.id = a.user_id where tmpu.id = q.user_id ORDER BY a.create_time DESC LIMIT 1
還沒有測試,你可以試試