mysql クエリのヘルプが必要です。
私は3つのテーブルを持っています:
- メンバー(ID、名前、会社)
- 質問(id,質問)
- questionanswerxref(id,userid,questionid,answer)
メンバーが定義済みの質問に回答すると、それが questionanswerxref テーブルに挿入されます。状況が変化し、時間が経過するにつれて、彼らは同じ質問に何度も答えることになります。各質問と特定のメンバーの最新の回答を提供するクエリを実行する必要があります (サインインしているメンバーに応じてメンバー ID を追加します)。
今のところ、私は次のものを持っていますが、いくつかのバリエーションを試しました。質問に答えていない場合は、答えなしでも表示したいと思います。
SELECT MAX( qq.id ) , coalesce( qq.answer, '' ) AS answer, q.question
FROM `questionanswerxref` qq
LEFT JOIN questions q ON q.id = qq.questionid
WHERE qq.userid = ".mysql_real_escape_string($userid)."
GROUP BY qq.id,q.id
ORDER BY q.id"
それの別のバージョンは..
select q.id,q.question, coalesce(qq.answer,'') as answer from questions q
left join questionanswerxref qq on q.id = qq.questionid AND qq.userid = ".mysql_real_escape_string($userid)."
group by q.id,qq.id
何度も質問を受け続けています。したがって、同じ質問に 4 回回答すると、それぞれが表示されます。彼らが提出した最後の回答だけが欲しいです。
簡単なように思えますが、困惑しています。